我有一个UIImageView,它位于另一个UIView内。
我用以下内容旋转UIImageView:
object.transform=CGAffineTransformMakeRotation(angle)
当外部UIView没有旋转时,可以使用CGAffineTransformMakeRotation来旋转UIImageView,并且它可以正常工作。
然而,当外部UIView旋转,然后我旋转UIImageView(上面非零“角度”) - UIImageView出现“压扁”或“扁平”。
随着它从不同的角度旋转,这似乎总是变得越来越糟。
为什么会这样?外部UIView是否修改了转换矩阵,然后通过明确设置再次修改它?
如何在旋转的UIView中旋转UIImageView并使其正确旋转?
答案 0 :(得分:15)
也许你的UIIamgeView
被它的超级视图自动化了。
您可以尝试通过设置禁用自动调整功能:
imageView.autoresizingMask = UIViewAutoresizingNone;
或者如果您不希望iOS自动更改imageView的大小但仍希望它自动为您设置位置,您可以致电:
imageView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleRightMargin;
告诉我你是否还有问题。
答案 1 :(得分:3)
抗锯齿是将视图边缘与其下方图层的颜色混合的过程。通过在应用程序的info.plist中设置UIViewEdgeAntialiasing标志,可以在系统范围内启用视图边缘的抗锯齿,但正如文档所警告的那样,这会对性能产生负面影响(因为它需要Core Animation从图层下方的渲染缓冲区中采样像素为了计算混合)。
使用边缘抗分散渲染=是