我知道如何添加视图约束但我不知道我的方式是否正确。因此,当我的视图首次加载时,我会对视图首次加载时显示的视图设置约束。我得到了updateConstraints方法,并为视图的初始加载时加载的视图添加了约束。现在我有几个问题。
1)当用户按下按钮时,tableview将加载显示他们可以选择的一些项目。 当按下该按钮时,我调用[self setNeedsUpdateConstraints]调用视图中的updateConstraints函数,在该视图中我将为正在加载的视图添加新约束。在我的updateConstraints方法中,我正在做的是通过执行if(!myView)然后从那里添加约束来检查视图是否处于活动状态。我可以预见到的问题是,我的所有其他观点也同样如此。我检查viwe是否存活,然后添加约束,如果它们还活着的话。但是,当我这样做时,我有一些if if case都询问视图是否存活然后添加像这样的限制
[code] if(view1){//为view one添加constraitnts} if(view2){///为view2添加约束}} [/ code]
依此类推。这是在screeen上显示视图并且用户正在与应用程序交互后添加子视图的核心方式吗?
2)UIView是否会添加已添加的约束。所以说我为view1添加约束。如果我像第一个问题那样编写代码,它将再次为view1添加约束。这是否意味着生病有两次相同的约束,或者我不必担心这个?
3)如果2为真,我不得不担心两次添加相同的约束,最好的方法是删除它们。现在要删除它们,我的视图类中有多个NSLAyoutConstraint对象,以便在删除视图后删除它们。这是删除conmstraints的正确方法还是我可以做其他事情?如果是这样我该怎么办?