loadNibNamed,视图向上移动了?

时间:2010-11-16 15:19:16

标签: iphone objective-c cocoa-touch

我使用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];
}
欢呼加里

1 个答案:

答案 0 :(得分:2)

也许视图在从主bundle加载时,不会在superview上下文中绑定它。因此得到(x,y)=(0,0) 您应该尝试将视图移动到xib中的任何(x,y),并观察它是否会发生任何变化。