【问题标题】:Why do I not need to specify autoresizingMask for my custom UIViewController's root view?为什么我不需要为自定义 UIViewController 的根视图指定 autoresizingMask?
【发布时间】:2012-01-28 05:08:53
【问题描述】:

在我的自定义视图控制器中,我覆盖 loadView 以编程方式设置我的视图层次结构。为了支持自动旋转,我为层次结构中所有视图的autoresizingMask 属性分配了一个适当的值——除了根视图(我分配给self.view 的那个)。尽管有这个遗漏,但在自动旋转上调整大小效果很好(感觉如此好到终于可以这么说☺)。我已经在各种模拟器以及我的 iPhone 和 iPad 设备上进行了测试。

有人知道为什么会这样吗?这种行为只是“运气”,还是 Apple 在某处正式记录的?

(注意:我问主要是出于好奇,请不要告诉我“去修复它,它只是一行代码” - 我已经这样做了。)

【问题讨论】:

    标签: ios uiviewcontroller autoresizingmask


    【解决方案1】:

    autoresizesSubviews/autoresizingMask 定义一个父视图到子视图的关系。对于支持旋转的UIViewController,控制器在旋转时管理视图的框架,与任何自动调整大小属性无关。

    【讨论】:

    • 听起来不错。我还在 Apple 的 UIViewController 类文档中找到了以下语句:“当视图控制器显示在屏幕上时,它的根视图通常会调整大小以适应可用空间,这可能会根据窗口的当前方向和其他界面元素的存在而有所不同比如状态栏。”所以我想,毕竟没有必要在根视图上设置autoreszingMask
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-18
    • 1970-01-01
    • 2016-11-14
    • 2013-05-01
    • 1970-01-01
    • 2018-10-08
    相关资源
    最近更新 更多