在第1張時,我有一個UIView稱爲parentView1(它是灰色圖)。它有子視圖(圖片中的4個)。
之前施加到CGAffineTransformRotate parentView1 I,I可以拖動視圖(紅色垂直)和拖放到parentView1,其結果是作爲圖象2.
但是,如果我首先做一個CGAffineTransformRotate(見代碼)上parentView1,然後通過拖放將紅色垂直視圖添加到parentView1中,紅色垂直視圖也會立即旋轉到與parentView1(圖片3)相同,因爲我放棄了垂直視圖。我不希望它發生。在被拖走之前,我需要紅色的垂直視圖與其原始方向相同。
其他方式也會發生同樣的效果:如果parentView1已被旋轉,則將子視圖從parentView1移動到邊界外。
有什麼建議嗎?
代碼旋轉parentView1:
self.parentView1.transform = CGAffineTransformRotate(self.parentView1.transform, degreesToRadians(45));
代碼從父移動視圖到另一個:
-(void)getNewPosition2:(UIView *)viewToConvert parentView:(UIView *)parentViewx superParentView:(UIView *)superParentView
{
CGPoint newPoint = [superParentView convertPoint:viewToConvert.center fromView:parentViewx];
// viewToConvert.layer.position = newPoint;
viewToConvert.center = newPoint;
[viewToConvert removeFromSuperview];
[superParentView addSubview:viewToConvert];
}
調用上述getNewPostition2方法:
[self getNewPosition2:recognizer.view parentView:self.view superParentView:self.parentView1];