iPhoneX適配
1.LaunchImage
iphoneX需要一張新的啟動圖:1125 × 2436 pixels,@3x,新做一張啟動圖
2.狀態欄statusBar
iPhoneX上由于劉海部分,statusBar由20pt變成了44pt,
3.tabBar
tabBar高度發生了改變,由49pt變成49pt+34pt=83pt
// 判斷是否是iPhone X
#define iPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)
// 狀態欄高度
#define STATUS_BAR_HEIGHT (iPhoneX ? 44.f : 20.f)
// 導航欄高度
#define NAVIGATION_BAR_HEIGHT (iPhoneX ? 88.f : 64.f)
// tabBar高度
#define TAB_BAR_HEIGHT (iPhoneX ? (49.f+34.f) : 49.f)
// home indicator
#define HOME_INDICATOR_HEIGHT (iPhoneX ? 34.f : 0.f)
iPhoneX Push 過程中TabBar位置上移
解決:在push時重置tabBar的位置
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated {
....//省略代碼
[super pushViewController:viewController animated:animated];
//重置tabBar的frame
CGRect frame = self.tabBarController.tabBar.frame;
frame.origin.y = [UIScreen mainScreen].bounds.size.height - frame.size.height;
self.tabBarController.tabBar.frame = frame;
}