【问题标题】:IOS Autolayout change anchorPoint of view and rotate scaleIOS自动布局改变锚点视角和旋转比例
【发布时间】:2014-10-10 10:22:42
【问题描述】:

如果我设置 translatesAutoresizingMaskIntoConstraints YES,我更改视图的图层 anchorPoint,控制台打印: 无法同时满足约束。

CGPoint anchor=CGPointMake((self.scrollview.frame.size.width/2+self.scrollview.contentOffset.x)/self.imageview.frame.size.width, (self.scrollview.frame.size.height/2+self.scrollview.contentOffset.y)/self.imageview.frame.size.height);
self.imageview.layer.anchorPoint=anchor;
self.imageview.layer.position=CGPointMake(self.scrollview.frame.size.width/2+self.scrollview.contentOffset.x, self.scrollview.frame.size.height/2+self.scrollview.contentOffset.y);
CGAffineTransform  transform=CGAffineTransformMakeRotation((slider.value*100/180));
self.imageview.layer.transform=CATransform3DMakeAffineTransform(transform);

这样的代码。我不能用它来让imageview围绕一个点旋转。

我还有一个问题。当我使用自动布局时,我无法直接更改框架。我必须改变约束。我是否不能使用旧代码为我的视图设置动画?

【问题讨论】:

    标签: ios autolayout anchor constraints transform


    【解决方案1】:
    1. 采用自动布局后,您应该始终修改约束而不是框架。您无法使用旧的框架修改代码为您的视图设置动画。

    2. 我的建议总是将translatesAutoresizingMaskIntoConstraints 设置为NO 并通过代码或xib 设置您的约束。

    【讨论】:

    • 感谢您的回答,我已经对约束进行了一些测试。我认为 github 上的许多第三方库对约束没有用处。我决定用老式的方式编写我的项目。
    • 又如何通过约束修改anchorPoint?!
    猜你喜欢
    • 1970-01-01
    • 2015-11-15
    • 2017-11-08
    • 1970-01-01
    • 2014-04-27
    • 2015-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多