我有一个自定义的 UIViewController 和nib文件中的相应视图。该视图将直接添加到 UIWindow 。
[window addSubview:customViewController.view];
窗口和视图的大小是默认值( 480x320 和 460x320 相应)。
当我在nib文件中创建 CustomViewController 并在IB属性选项卡中检查“从NIB调整视图”时,一切正常。
但是当我使用 initWithNibName 消息以编程方式创建 CustomViewController 时,视图未正确定位在窗口上。底部有一条空条纹。它的高度是20px。我看到它是因为状态栏偏移。
IB使用“从NIB调整视图”来处理此问题。 如何以编程方式模拟?
IB似乎使用了UIViewController的一些自定义子类。所以问题是:如何在那里实施“从NIB调整视图”?
答案 0 :(得分:1)
当我想确保视图覆盖整个屏幕时,我会这样做:
- (void) viewWillAppear: (BOOL) animated
{
[super viewWillAppear:animated];
[[self view] setFrame:[[UIScreen mainScreen] bounds]];
}
感觉就像一个黑客,所以我只是作为最后的手段,当我无法让视图表现出来时:)