使用笔尖创建的视图控制器中的视图的框架位于{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;
}
答案 0 :(得分:2)
在这种情况下,不需要实现loadView
方法。默认情况下,视图控制器将获得一个空视图。此视图将自动调整以适合其容器。
答案 1 :(得分:0)
我发表评论。您无需更改view.frame
。
self.view
,请在navigation
controller
下方开始。如果您在navigation
以下没有self.view
status bar
开头。如果您隐藏status bar
,那么self.view
就会从screen
的顶部开始。
IOS
在内部照顾这一点。您无需为此执行任何代码。