尽管我非常热爱自动布局的概念,但我似乎一直在纠结于其实现细节。其中之一是,我已经厌倦了存储应用于给定子视图的约束条件,以便稍后删除和替换它们。
例如,当我首次添加一个视图时,我可能会为其设置以下约束条件:
例如,当我首次添加一个视图时,我可能会为其设置以下约束条件:
@"H:[view(==200)]|"
将其放置在屏幕右侧,宽度为200。如果我想以后将其改为400宽,与200大小的间隔?新布局足够简单,但与旧布局直接相矛盾:
@"H:[view(==200)]-(200)]|"
所以我必须持有约束的数组,以便稍后使用它们来删除这些约束。我肯定是错过了某个更简单的解决方案。不幸的是,[视图约束] 的明显解决方案并不可行,因为您不能直接将约束应用于给定视图,而是将其应用于其父视图。(此外,它往往充满了自动布局约束,这使得它自己的对象适当地适应 -- 这不是你想要删除以调整其位置的内容!)并且似乎没有 [ view constraintsForSubview:] 选项可用。
我是瞎了吗?错过了什么?我真的需要手动处理现有约束的字典才能稍后修复它们吗?