随着xcode更新到xcode9,以前在旧平台上运行的app导航栏在iphonex上运行,状态栏的显示和导航栏的点击都有问题,测试发现,导航栏只有一半可以点击,状态栏的显示也是明显不完整,可以说只有一半左右。最终发现原因是旧项目写死了状态栏的高度是20,在iphonex以前,设置成20都是可以的,iphonex出来之后,状态栏的高度变成了44。解决这个问题最好的办法是使用代码获取状态栏高度:
//状态栏高度:
CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
float h = statusBarFrame.size.height;
值得注意的是:状态栏在一般的情况下,是无法点击的,所以当你的导航栏的位置侵入到状态栏,那进入到状态栏的导航栏部分,就无法点击。
CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
float h = statusBarFrame.size.height;