在-loadView中查看框架

时间:2013-07-04 05:28:55

标签: ios uiviewcontroller nib loadview

使用笔尖创建的视图控制器中的视图的框架位于{0,64,320,416},原点位于导航栏的正下方。 然而,在没有nib的-loadView中,尽管具有相同的帧(origin =(x = 0,y = 64)size =(width = 320,height = 416)),但是具有相同帧的视图是44 pt off,原点开始在状态栏下方的导航栏下方。为什么这样,我如何匹配笔尖行为?

-(void)loadView
{
    CGRect f = EPFrame;
    if(self.navigationController)
    {
        f.size.height -= self.navigationController.navigationBar.bounds.size.height;
        f.origin.y += self.navigationController.navigationBar.bounds.size.height;

    }
    UIView *base = [[UIView alloc]initWithFrame:f];
    base.backgroundColor = [UIColor clearColor];
    self.view = base;

}

2 个答案:

答案 0 :(得分:2)

在这种情况下,不需要实现loadView方法。默认情况下,视图控制器将获得一个空视图。此视图将自动调整以适合其容器。

答案 1 :(得分:0)

我发表评论。您无需更改view.frame

如果已启用{p> self.view,请在navigation controller下方开始。如果您在navigation以下没有self.view status bar开头。如果您隐藏status bar,那么self.view就会从screen的顶部开始。

IOS在内部照顾这一点。您无需为此执行任何代码。