代码之家  ›  专栏  ›  技术社区  ›  fuzzygoat

加载名,视图上移?

  •  2
  • fuzzygoat  · 技术社区  · 15 年前

    我正在使用loadview编程设置uiviewcontroller子类,并想知道我是否正确地设置了它。当我在InterfaceBuilder中查看我的“interface.xib”时,它的视图显示0,20320460,状态栏在顶部。我的问题是,当我构建应用程序时,视图会向上移动(即忽略状态栏)。我通过设置视图框架来纠正这个问题,但是有点好奇为什么它不来自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 回复  |  直到 15 年前
        1
  •  2
  •   ebany    15 年前

    当从主包加载视图时,它可能没有被绑定到超级视图上下文中。因此得到(x,y)=(0,0)。
    您应该尝试将视图移动到XIB中的任何(x,y),并观察这是否会改变。