關(guān)于適配iOS11和iPhoneX的一些事
前言
眾所周知iOS11正式版終于來了,最近也把app適配了一下,其實也不是很麻煩,來看看我做的一些操作,話不多說了,來一起看看吧。
1、UITableView、UICollectionView的變化
tableView在iOS11默認使用Self-Sizing,tableView的estimatedRowHeight、estimatedSectionHeaderHeight、 estimatedSectionFooterHeight三個高度估算屬性由默認的0變成了UITableViewAutomaticDimension,所以當(dāng)你pop回來的時候發(fā)現(xiàn)tableView自己動了,鑰匙胚關(guān)掉他們就行了,collectionView也是一樣的
if (@available(iOS 11.0, *)) {
tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
//其實驗證上面一句就行了,下面這三句比較極端
tableView.estimatedRowHeight = 0;
tableView.estimatedSectionHeaderHeight = 0;
tableView.estimatedSectionFooterHeight = 0;
}
//swift寫法
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
} else {
self.automaticallyAdjustsScrollViewInsets = false
}
2、iPhoneX來襲
由于iPhoneX出來了,屏幕太大,沒有HOME鍵,出現(xiàn)了safeArea的概念,就是安全使用的區(qū)域嘛,所以如果你使用了Masonry,那么你需要適配safeArea
if (@available(iOS 11.0, *)) {
make.edges.equalTo()(self.view.safeAreaInsets)
} else {
make.edges.equalTo()(self.view)
}
另外你會發(fā)現(xiàn)iPhoneX上啟動之后tabbar上移了,其實是啟動圖太小啦,趕緊勾選iOS 8.0 and later Portrait ,然后來張來張3x(1125 * 2436)的啟動圖放上就OK了。
當(dāng)然還有其他很多變化呢,比如狀態(tài)欄加導(dǎo)航欄不再是64了等等,問題多多呀,慢慢研究。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
IOS中NSPredicate和NSRegularExpression校驗正則表達式區(qū)別
本文文章通過實例代碼給大家講述了在IOS開發(fā)中NSPredicate和NSRegularExpression校驗正則表達式區(qū)別,需要的朋友趕快學(xué)習(xí)下吧。2018-01-01
iOS定制UISearchBar導(dǎo)航欄同步iOS11的方法
本篇文章主要介紹了iOS定制UISearchBar導(dǎo)航欄同步iOS11的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12

