Interface Builder:从NIB调整视图大小

时间:2010-06-09 12:14:06

标签: objective-c cocoa-touch uiview uiviewcontroller interface-builder

我有一个自定义的 UIViewController 和nib文件中的相应视图。该视图将直接添加到 UIWindow

[window addSubview:customViewController.view];

窗口和视图的大小是默认值( 480x320 460x320 相应)。

当我在nib文件中创建 CustomViewController 并在IB属性选项卡中检查“从NIB调整视图”时,一切正常。

但是当我使用 initWithNibName 消息以编程方式创建 CustomViewController 时,视图未正确定位在窗口上。底部有一条空条纹。它的高度是20px。我看到它是因为状态栏偏移。

IB使用“从NIB调整视图”来处理此问题。 如何以编程方式模拟?

IB似乎使用了UIViewController的一些自定义子类。所以问题是:如何在那里实施“从NIB调整视图”?

1 个答案:

答案 0 :(得分:1)

当我想确保视图覆盖整个屏幕时,我会这样做:

- (void) viewWillAppear: (BOOL) animated
{
    [super viewWillAppear:animated];
    [[self view] setFrame:[[UIScreen mainScreen] bounds]];
}

感觉就像一个黑客,所以我只是作为最后的手段,当我无法让视图表现出来时:)