为什么 safeAreaInsets 为主视图控制器的根视图返回 0?

Why do safeAreaInsets return 0 for the root view of the main view controller?

提问人:Vulkan 提问时间:10/1/2022 最后编辑:Vulkan 更新时间:10/1/2022 访问量:280

问:

我有一个带有单个视图控制器的应用程序。

此代码:

NSLog(@"%@", NSStringFromUIEdgeInsets(self.view.safeAreaInsets));

记录以下内容:

{0, 0, 0, 0}

Apple 文档指出:

对于视图控制器的根视图,插图会考虑状态 条形图、其他可见条形图以及您指定的任何其他插图 使用视图控制器的 additionalSafeAreaInsets 属性。

那么为什么它返回 0?它不应该返回状态栏的大小吗?在哪里可以找到状态栏的高度?在哪里可以找到底部应用程序切换器的高度?应用切换器是向上滑动以在应用之间切换的线条元素。

iOS Swift Objective-C UIView

评论

2赞 kbunarjo 10/1/2022
stackoverflow.com/a/25973816/6901471
0赞 Vulkan 10/1/2022
底部的应用切换器高度如何?我怎样才能得到它?
1赞 DonMag 10/3/2022
@Vulkan - 你在哪里称呼它?在 iPhone 13 Pro 上运行简单的单视图控制器应用程序时,我进入了(众所周知,自动布局尚未完成所有工作),然后进入(在自动布局完成其过程之后)。{0, 0, 0, 0}viewDidLoad{47, 0, 34, 0}viewDidAppear
0赞 Vulkan 10/4/2022
我正在使用 viewDidLoad。感谢您的澄清。不知道!

答: 暂无答案