【发布时间】:2015-12-21 06:26:02
【问题描述】:
我尝试创建一个 UIView,它代表一个与设备屏幕大小相同的页面。由于该应用程序支持方向,我使用 AutoLayout 来构建它。
在我尝试为页面设置动画以从右侧滑入之前,它工作正常。经过一番研究,这是我能想到的最好的:
myView = UIView()
myView.backgroundColor = UIColor.orangeColor()
parentView.addSubview(myView)
myView.translatesAutoresizingMaskIntoConstraints = false
myView.leftAnchor.constraintEqualToAnchor(parentView.rightAnchor).active = true
myView.widthAnchor.constraintEqualToAnchor(parentView.widthAnchor).active = true
myView.heightAnchor.constraintEqualToAnchor(parentView.heightAnchor).active = true
UIView.animateWithDuration(Double(1.0), animations: {
self.myView.leftAnchor.constraintEqualToAnchor(self.parentView.leftAnchor).active = true
self.myView.layoutIfNeeded()
})
使用上面的代码,页面myView从左上角滑入,这不是我所期望的,日志也显示Unable to simultaneously satisfy constraints。
非常感谢任何可以帮助我并纠正我以更好地理解 AutoLayout 和动画的建议。谢谢。
【问题讨论】:
-
你错过了顶级主播。
-
@dasdom 即使我添加了顶部锚点,也是一样的。问题是我认为我正在覆盖现有规则,但实际上我正在创建新规则。所以解决方案是在创建新规则之前先停用一些规则。我想我已经找到了解决方案,我稍后会发布答案。