0

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

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

1

尝试将您的主视图框架更改为 [UIScreen mainScreen] bounds]

UIView *testView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
testView.backgroundColor = [UIColor blueColor];
[self.view addSubview:testView];
于 2013-08-18T01:48:44.243 回答