【问题标题】:UIView Not Respecting Frame in 'loadView' in UINavigationControllerUINavigationController 中的“loadView”中的 UIView 不尊重框架
【发布时间】:2010-11-14 07:54:13
【问题描述】:

我有以下sn-p的代码:

- (void)loadView {
    self.view = [[UILabel alloc] initWithFrame:CGRectMake(20.0, 20.0, 40.0, 40.0)];
    self.view.backgroundColor = [UIColor blackColor];
}

如果我在使用主视图控制器中的“基于视图的应用程序”创建的项目中运行 sn-p,一切都会按预期工作。但是,如果我在使用“基于导航的应用程序”创建的项目中运行它,则标签会填满屏幕(不考虑大小)。如何修复在导航控制器中呈现的行为?谢谢!

【问题讨论】:

    标签: iphone objective-c cocoa-touch


    【解决方案1】:

    导航视图控制器会将视图控制器的视图调整为显示区域,因此您描述的行为是正常的并且是设计使然。一般来说,我们在层次结构的顶部使用空的UIView,并将子视图放在里面,在你的情况下是UILabel。

    【讨论】:

    • 谢谢蒂亚!我一直在使用它作为解决方法,但很高兴知道它是必需的!
    猜你喜欢
    • 1970-01-01
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    • 2019-09-17
    相关资源
    最近更新 更多