作者:123456ws1043 | 来源:互联网 | 2023-01-17 19:34
当我尝试在视图控制器中检索viewDidLoad中的safeAreaInsets时,它会在iPhone X上返回(0,0,0,0),我知道这是错误的.文档说如果视图不是层次结构的一部分或视图不可见,则会发生这种情况.所以我的问题是,检索safeAreaInsets然后使用这些插图布局我的子视图的最佳位置在哪里?
1> nathangitter..:
你需要使用viewDidLayoutSubviews
而不是viewDidLoad
.
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
// your layout code here
}
注意:与viewDidLoad
仅调用一次相比,viewDidLayoutSubviews
通常称为多次.确保仅在内部设置框架viewDidLayoutSubviews
,并且不执行仅发生一次的操作,例如添加子视图.