我使用loadView以编程方式设置UIViewController子类,并想知道我是否正确。当我在Interface Builder中查看我的“Interface.xib”时,其视图显示0,20,320,460,状态栏位于顶部。我的问题是,当我构建应用程序时,视图向上移动(即忽略状态栏)。我正在通过设置视图框架来纠正这个问题,但我有点好奇为什么它不会从xib文件中进入?
- (void)loadView {
NSLog(@"HYBRID UI: %s", __PRETTY_FUNCTION__);
NSArray *nibArchive = [[NSBundle mainBundle] loadNibNamed:@"Interface" owner:self options:nil];
UIView *nibView = [nibArchive lastObject];
[nibView setFrame:[[UIScreen mainScreen] applicationFrame]];
[self setView: nibView];
}
欢呼加里
答案 0 :(得分:2)
也许视图在从主bundle加载时,不会在superview上下文中绑定它。因此得到(x,y)=(0,0) 您应该尝试将视图移动到xib中的任何(x,y),并观察它是否会发生任何变化。