問題一:適配
1.首先簡單定義一下IPoneX
#define ISIPHONEX (ScreenHeight == 812.0f) ? YES : NO 2.簡單瞭解下IPhoneX 導覽列 狀態列 tabar高度
1.導覽列高度 88 非非IPoneX手機為64
2.狀態列高度44 非IPoneX手機為20
3.tabar高度83 非IPhoneX手機為49 如下圖所示;
3.定義其高度
#define HeightNavContentBar 44.0f
#define HeightStatusBar (ISIPHONEX==YES)?44.0f: 20.0f
#define HeightNavBar (ISIPHONEX==YES)?88.0f: 64.0f
#define HeightTabBar (ISIPHONEX==YES)?83.0f: 49.0f
到此為止相信適配的問題你已經解決了,只適用於自訂導覽列 問題二:push時tabbar向上移動導致一塊小黑螢幕
簡單描述一下,這就是一個蘋果官方開發人員的一個打臉bug,直接上代碼 如下;
在你的基類導航控制器跳轉代理方法中加上這個方法即可;
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated {
[super pushViewController:viewController animated:animated];
// 修改tabBra的frame
CGRect frame = self.tabBarController.tabBar.frame;
frame.origin.y = [UIScreen mainScreen].bounds.size.height - frame.size.height;
self.tabBarController.tabBar.frame = frame;
} 問題三:UIWebView載入時下方黑屏載入完畢恢複
原因不明,直接上代碼,在初始化webview時,設定這個方法即可;
if (@available(iOS 11.0, *)) {
_webView.scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}