使用 nib 创建的视图控制器中的视图的帧位于 {0, 64, 320, 416},原点从导航栏正下方开始。然而,在没有笔尖的 -loadView 中,具有相同帧的视图关闭了 44 pt,尽管具有相同的帧(原点=(x=0,y=64( 大小=(宽度=320,高度=416((,原点从状态栏下方的导航栏下方开始。为什么会这样,我怎样才能匹配笔尖行为?
-(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;
}
在这种情况下,不需要实现 loadView
方法。默认情况下,视图控制器将获得一个空视图。此视图将自动调整大小以适合其容器。
正如我所说。您无需更改view.frame
.
如果启用了self.view
,则从低于 navigation
controller
开始。如果您没有navigation
self.view
则从以下status bar
开始。如果您隐藏status bar
则self.view
从screen
顶部开始。
IOS
内部会处理这个问题。您无需为此执行任何代码。