我通过调用
旋转了UIImageView myView.transform = CGAffineTransformMakeRotation(someRadians)
myView.layer.allowsEdgeAntialiasing = YES;
如果我打电话......
[myView setFrame:CGRectMake(myView.frame.origin.x, myView.frame.origin.y-100, myView.frame.size.width, myView.frame.size.height)];
... 我的观点被拉伸,而不是向上移动一点。
这是正常行为吗?我不应该在旋转视图后设置框架?有解决方案吗?感谢。
答案 0 :(得分:2)
答案 1 :(得分:0)
事实证明,正如 @Scott Berrevoets 建议的那样,在进行转换后无法使用frame属性。
相反,我们必须使用另一个转换来移动视图。为了不进行移动转换覆盖轮换,我们可以将翻译转换连接到视图的现有轮播转型。
CGAffineTransform moveTransform = CGAffineTransformMakeTranslation(0, -100);
myView.transform = CGAffineTransformConcat(myView.transform, moveTransform);