我正在寻找viewDidLayoutSubviews只调用一次的替代方法。
我使用此代码将登录名移出视图:
override func viewDidLayoutSubviews() {
username_input.center.x -= view.bounds.width
password_input.center.x -= view.bounds.width
login_button.center.x -= view.bounds.width
}
Run Code Online (Sandbox Code Playgroud)
我需要这样做一次,这样我就可以在viewDidAppear. 这一切都很好,直到我将视图拆分为不同的子视图,现在该函数被多次调用。我找不到任何仅被调用一次的等效函数。
定义一个布尔值,false第一次viewDidLayoutSubviews执行。我做了很多次,效果很好。
fileprivate var firstLayoutSubviewsTime = true
override func viewDidLayoutSubviews() {
if firstLayoutSubviewsTime {
firstLayoutSubviewsTime = false
[...]
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1490 次 |
| 最近记录: |