在第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];