iOS 11导航栏和屏幕大小上的布局更改
我目前正在开发一款新版本的应用程序,该应用程序采用Objective-C和iOS 8.x 我对布局有两个问题:iOS 11导航栏和屏幕大小上的布局更改,ios,objective-c,ios11,Ios,Objective C,Ios11,我目前正在开发一款新版本的应用程序,该应用程序采用Objective-C和iOS 8.x 我对布局有两个问题: 具有统一背景颜色的栏显示在我的导航栏顶部,隐藏了我的navigationitem的一半内容 屏幕底部会显示一个大的白色条 该应用程序的最新更新是iOS 9.3,因此它与iOS 10或11的变化有关 在iphone6上可以观察到这个问题。或iPhone X也观察到了此问题,但顶部栏上方有一个空间: iPhone 6屏幕截图: iPhone X屏幕截图: 我试图将self.naviga
- 具有统一背景颜色的栏显示在我的导航栏顶部,隐藏了我的navigationitem的一半内容
- 屏幕底部会显示一个大的白色条
我试图将self.navigationController.navigationBar.prefersLargeTitles设置为
true
,但最糟糕的是:顶部的栏仍然存在,并且添加了另一个大栏 在iOS 11中,导航栏高度增加。这是支持iPhoneX设备的一种方法
if(@available(iOS 11,*))
{
self.navigationController.navigationBar.prefersLargeTitles = false;
self.navigationController.navigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeNever;
}
CGFloat statusBarHeight = [[UIApplication sharedApplication] statusBarFrame].size.height;
NSLog(@"Status bar height:%f",statusBarHeight);
double CurrentDevicescreenHeight = [[UIScreen mainScreen] bounds].size.height;
NSLog(@"Current Device Height:%f",CurrentDevicescreenHeight);
if(CurrentDevicescreenHeight == 812) {
CGFloat iPhoneXstatusBarHeight = [[UIApplication sharedApplication] statusBarFrame].size.height;
NSLog(@"iPhone X Device:- Status bar height:%f",iPhoneXstatusBarHeight);
float tophight = self.navigationController.navigationBar.frame.size.height;
NSLog(@"iPhone x device navigation bar height:%f",tophight);
self.navigationController.navigationBar.frame = CGRectMake(0, 20, 320, 44);
}
这看起来像是你的应用程序添加的内容。视图调试器认为它是什么类型的?