gpt4 book ai didi

ios - 让 UIViewController View 填充所有可用空间的最有效方法?

转载 作者:行者123 更新时间:2023-11-29 11:28:51 31 4
gpt4 key购买 nike

我有一个通用的单 View 应用程序,它在底部有一个 UINavigationBar toolbar,然后是 UIViewController view 占据了剩余的空间。

我通常以编程方式做所有事情,所以很长一段时间我一直在 loadView 中手动计算 UIViewController 的 view frame ,考虑到设备可能具有的所有组件,即新 iPhone 设备上的主页指示器高度,旧设备上的不透明状态栏。

但是,对于所有新设备,我发现这种方式效率低下,并考虑过切换到 Storyboard或 xib。我从来没有真正使用过这些,所以我不明白它是如何工作的。例如,如果我创建一个 Storyboard,其中 ViewController 的 View 占用了可用区域的整个大小,这是否适用于所有设备?旋转时它会正确调整大小吗?

总的来说,我有点想知道,什么是最优雅/最有效的方法来创建一个 UIViewController 的 view 占据整个可用区域的应用程序所有设备上的屏幕,包括手机旋转时?

最佳答案

I usually do everything programmatically, so for the longest time I've been calculating the UIViewController's view frame manually in loadView

从来没有必要这样做;您可以删除该代码。导航 Controller 本身将为其 subview Controller 的 View 提供正确的框架!

所要做的就是为 subview Controller 的 View subview 提供正确的定位。 是你应该做的事情,只需给它们自动布局约束,这样无论 View Controller 的 View 最终大小如何,它们都会正确排列。您可以在代码中或通过 Storyboard 来做到这一点;没有区别。

In general I'm kind of wondering, what is the most elegant / efficient way to create an app where the UIViewController's view takes up the entire usable area of the screen on all devices, including when the phone rotates?

优雅高效的方法是:什么都不做。这就是已经自动发生的事情,无需您输入。

关于ios - 让 UIViewController View 填充所有可用空间的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55712677/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com