【发布时间】:2013-12-08 09:02:58
【问题描述】:
我以编程方式修改了一个自动布局约束。它对某个特定视图生效,但与该视图的其他约束绑定的其他视图不会改变它们的位置。是否有“updateAllConstraints”方法?
【问题讨论】:
-
也许你可以发布一个你的约束屏幕:我唯一的想法是,这些其他视图通过不可拉伸的约束以某种方式绑定到其他元素。
标签: ios autolayout
我以编程方式修改了一个自动布局约束。它对某个特定视图生效,但与该视图的其他约束绑定的其他视图不会改变它们的位置。是否有“updateAllConstraints”方法?
【问题讨论】:
标签: ios autolayout
在要更新的视图上调用这两个方法:
-setNeedsLayout
-layoutIfNeeded
第一个告诉布局系统,这个视图需要布局,因为它有一些变化,一切都应该重新计算。第二个强制布局系统现在运行,布局系统在运行时的特定时间被触发,用这个方法你说:“现在就做”。
【讨论】:
view.removeConstraints(imageView) 然后设置新的约束。
是的 UIView 上有一个方法叫- (void)updateConstraintsIfNeeded
但我不认为这是你的问题
【讨论】:
问题在于没有正确设置约束,在这种情况下,setNeedsLayout 或 updateConstraintsIfNeeded 都不能提供帮助。
【讨论】:
遇到此主题并正在寻找在菜单中找到此主题的人。
我发现最好的是:
选择要“弹出”回约束的项目
顶部菜单:编辑器/更新帧(或/)快捷键:command + option + =
希望这会有所帮助
【讨论】: