iOS11&IPhoneX適配

一、在iOS 11中,會默認開啓獲取的一個估算值來獲取一個大致的空間大小,致使不能正常顯示,能夠選擇關閉。目前嘗試在delegate中處理不能很好的解決,不過能夠直接設置:windows

Swift
if #available(iOS 11.0, *) {
   self.tabView.estimatedSectionHeaderHeight = 0.01
   self.tabView.estimatedSectionFooterHeight = 0.01
 }

OC
if (@available(iOS 11.0, *)) {
    self.tableView.estimatedSectionHeaderHeight = 0.01;
    self.tableView.estimatedSectionFooterHeight = 0.01;
}


二、啓動頁尺寸不對測試

刪除原來的LauchImage文件夾,而後添加iOS 11+的啓動圖片(圖片尺寸:1125 * 2436 )


三、在iOS11導航欄多了一個LargeTitleView,專門顯示大字標題用的,整個導航欄的高度達到了96p,比以前的導航欄多了32p,不過,大字標題默認是關閉的,因此通常狀況下,導航欄的高度仍是64p。spa

 

if #available(iOS 11.0, *) {
     self.tabView.contentInsetAdjustmentBehavior = .never
} else {
     self.automaticallyAdjustsScrollViewInsets = false
}

對於以前導航欄高度直接寫成64的地方作如下替換

let kStatusHeight = UIApplication.shared.statusBarFrame.size.height
let navHeight: CGFloat = self.navigationController!.navigationBar.frame.size.height
let kNavHeight: CGFloat = kStatusHeight + navHeight
let navView : GradientNavView = GradientNavView(frame: CGRect(x: 0, y: 0, width: screenWidth, height: kNavHeight))

 

四、iOS11 中 "MBProgressHUD+NJ"不顯示彈框3d

將本來的
if (view == nil) {
     view = [[UIApplication sharedApplication].windows lastObject];
}
改爲
if (view == nil) {
     view = [UIApplication sharedApplication].keyWindow;
} 

 


五、無線模擬測試code

 

隨後會不按期更新喲。。。blog

相關文章
相關標籤/搜索