【发布时间】:2015-07-21 20:22:07
【问题描述】:
我正在调用 API。根据我得到的 json 数据,我在 viewDidLoad() 中修改了我的视图控制器,以便更改我的视图设计以尽可能最好地显示给定数据。
我所做的是隐藏一些 uiViews 并将它们的约束设置为 .active = false ,但还通过以下方式更改一些约束:
let noCButton = NSLayoutConstraint(item: aListTop, attribute: NSLayoutAttribute.CenterY, relatedBy: NSLayoutRelation.Equal, toItem: aListBottom, attribute: NSLayoutAttribute.CenterY, multiplier: 1, constant: 0)
view.addConstraint(noBidButton)
然后就在关闭 viewDidLoad() 之前,我在其中更改/禁用了一些我调用的约束 view.layoutIfNeeded()
所以我现在的问题是,
如果我更改/禁用某些约束或隐藏 uiview,我应该总是在之后调用 view.layoutIfNeeded() 吗?
另外,我是否需要在每次更改后立即调用view.layoutIfNeeded(),还是我可以在关闭 viewDidLoad() 之前简单地调用一次?
无论哪种方式,我的控制台都没有出现任何错误,但我只是想确保我以正确的方式进行操作。我还注意到像 updateConstraints 这样的函数,但 layoutIfNeeded 似乎可以工作,尽管我不是 100% 确定差异
提前致谢,
【问题讨论】: