[英]Is there any way to change view frame and programmatically update constraints like in IB?
如果在界面构建器中更改视图框,则可以点击第3个图标(或在菜单中 - 编辑/解决Autolayout问题/更新约束)并更新所有约束以适应新框架。 有没有办法以编程方式做这个技巧?
例:
var newFrame = view.frame
newFrame.offset(dx: 20, dy: 35)
view.frame = newFrame
// Here comes required method like view.updateConstraints()
PS
我知道我可以为约束设置出口或设置新的约束,但我真的需要更新现有的约束。
不,但这就是translatesAutoresizingMaskIntoConstraints
在启用时或多或少的功能。 问题在于,当superview的边界发生变化时,它生成的约束只保留最后设置帧的视图,并根据其自动调整掩码进行调整。
如果这些限制适合您的需求,您应该使用它。 如果他们不是,那么你需要按照你似乎知道你必须但不想做的方式去做。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.