我在 nib 文件中有一个自定义的 UIViewController 和相应的 View 。 View 直接添加到 UIWindow。
[window addSubview:customViewController.view];
窗口和 View 的大小是默认的(480x320 和 460x320)。
当我在 nib 文件中创建 CustomViewController 并在 IB Attributes 选项卡中选中 “Resize View From NIB” 时,一切正常。
但是当我使用 initWithNibName 消息以编程方式创建 CustomViewController 时, View 未正确定位在窗口上。底部有一个空条纹。它的高度是 20px。我看到这是因为状态栏偏移。
IB 使用“Resize View From NIB” 来处理这个问题。 如何以编程方式模拟它?
似乎 IB 使用了 UIViewController 的一些自定义子类。那么问题来了:“Resize View From NIB”是如何实现的?
最佳答案
当我想确保 View 覆盖整个屏幕时,我会这样做:
- (void) viewWillAppear: (BOOL) animated
{
[super viewWillAppear:animated];
[[self view] setFrame:[[UIScreen mainScreen] bounds]];
}
感觉像是 hack,所以我只在万不得已时才这样做,当我无法让 View 以其他方式运行时:)
关于objective-c - 界面生成器 : Resize View From NIB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3005645/