UIView不尊重UINavigationController中'loadView'中的帧

时间:2010-11-14 07:54:14

标签: iphone objective-c cocoa-touch

我有以下代码片段:

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

如果我在主视图控制器中使用“基于视图的应用程序”创建的项目中运行代码段,则一切都按预期工作。但是,如果我在使用“基于导航的应用程序”创建的项目中运行它,则标签会填充屏幕(不符合大小)。如何修复在导航控制器中显示的行为?谢谢!

1 个答案:

答案 0 :(得分:1)

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