如何解决更改UIView的锚点将移动视图
我希望能够在X / Y中心以外的其他锚点上旋转视图。我搜索了一个解决方案,并找到了以下扩展名。但是,在我看来,它仍然可以移动我更改了锚点的视图。请查看下面的屏幕截图。
extension UIView {
func setAnchorPoint(_ point: CGPoint) {
var newPoint = CGPoint(x: bounds.size.width * point.x,y: bounds.size.height * point.y)
var oldPoint = CGPoint(x: bounds.size.width * layer.anchorPoint.x,y: bounds.size.height * layer.anchorPoint.y);
newPoint = newPoint.applying(transform)
oldPoint = oldPoint.applying(transform)
var position = layer.position
position.x -= oldPoint.x
position.x += newPoint.x
position.y -= oldPoint.y
position.y += newPoint.y
layer.position = position
layer.anchorPoint = point
}
}
然后将以下行添加到ViewDidLoad。
informationBarButtonViewLineTop?.setAnchorPoint(CGPoint(x: 1,y: 0.5))
informationBarButtonViewLineBottom?.setAnchorPoint(CGPoint(x: 1,y: 0.5))
顶部和底部的绿线是灰色视图的子视图。我想更改子视图(绿线视图)的锚点,这些子视图的名称分别为informationBarButtonViewLineTop和informationBarButtonViewLineBottom。
我使用StoryBoard设置自动布局,以在灰色框中显示绿线,如下所示。
预先感谢您的想法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。