在我的iOS应用程序中,我想更改CALayer的anchorPoint,以便我可以执行特定的旋转(从角落)。我正在使用在界面构建器中创建的UIImageView。
我知道更改图层的anchorPoint会影响图层和视图的框架,因此需要更新图层的位置。所以我使用了here解释的解决方案。
在更改任何内容之前,这里是视图:
self.square.layer.anchorPoint : {0.5, 0.5}
self.square.layer.position : {125, 125}
self.square.layer.frame : {{0, 0}, {250, 250}}
self.square.frame : {{0, 0}, {250, 250}}
以及设置新的anchorPoint和位置后的情况(使用this solution)
self.square.layer.anchorPoint : {0, 1}
self.square.layer.position : {0, 250}
self.square.layer.frame : {{0, 0}, {250, 250}}
self.square.frame : {{0, 0}, {250, 250}}
在截图上,square是一个没有任何图像和紫色背景的UIImageView,但是当我使用UIView时行为是一样的。我不明白为什么视图被移动但是打印的框架仍然是相同的。怎么可能?我错过了什么?
编辑:
我正在使用自动布局。禁用后一切都很好,但这并不方便。如何在不禁用自动布局的情况下实现此目的?