当导航栏不透明时,UIViewController的视图太低

时间:2013-08-18 00:19:25

标签: ios

当我将navigationBarHidden设置为NO时,我将导航栏设置为半透明,当我使用initWithFrame:初始化时打印框架,它是{{0, 0}, {320, 504}} 。该视图显示在navigationBar下方。然后,当我使用[[self.navigationController navigationBar] setTranslucent:NO]将导航栏设置为不是半透明时,我打印框架的视图,它是{{0, 0}, {320, 504}}。我缩放了iPhone模拟器,因此它的尺寸与实际的4英寸iPhone相同,这是一个截图。您可以看到导航栏和我的视图顶部之间现在有一个巨大的空间,它是红色的。是什么造成了这个空间?两张图片之间的唯一区别是我在第一张图片中注释掉了[[self.navigationController navigationBar] setTranslucent:NO]

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

尝试将主View视图框更改为[UIScreen mainScreen]边界]

UIView *testView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
testView.backgroundColor = [UIColor blueColor];
[self.view addSubview:testView];