iOS 11 下適配UITableView 問題
9月份蘋果發(fā)布了IOS11和Iphone X,這一操作系統(tǒng)一硬件對(duì)于開發(fā)者適配上面還是造作了不少蛋疼的地方。先來看看IOS 11,這些蛋疼的需要適配的地方:
1、UIScrollView及其子類在IOS 11之前的版本UI顯示完全正常,但是在IOS 11上面會(huì)顯示奇葩的界面。
(1)先看一下UITablevIew。
原本在VC里面的automaticallyAdjustsScrollViewInsets竟然過期了,在IOS 11下 APPLE推薦使用UIScrollView的contentInsetAdjustmentBehavior屬性進(jìn)行設(shè)置自動(dòng)計(jì)算滾動(dòng)視圖的內(nèi)容邊距。
@property(nonatomic,assign) BOOL automaticallyAdjustsScrollViewInsets
在IOS11的SDK下,UIScrollView的這個(gè)屬性
@property(nonatomic) UIScrollViewContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior //這個(gè)屬性是一個(gè)枚舉類型的
{
UIScrollViewContentInsetAdjustmentAutomatic,//scrollView會(huì)自動(dòng)計(jì)算和適應(yīng)頂部和底部的內(nèi)邊距并且在scrollView 不可滾動(dòng)時(shí),也會(huì)設(shè)置內(nèi)邊距.
UIScrollViewContentInsetAdjustmentScrollableAxes, //自動(dòng)適應(yīng)邊距
UIScrollViewContentInsetAdjustmentNever, //和 automaticallyAdjustsScrollViewInsets=NO有著同樣的效果,不計(jì)算內(nèi)邊距
UIScrollViewContentInsetAdjustmentAlways//根據(jù)safeAreaInsets (安全區(qū)域)計(jì)算內(nèi)邊距
}
所以,在IOS 11 下,需要設(shè)置ScrollView:
self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
如果需要全局設(shè)置的話,需要這么設(shè)置:
if (@available(iOS 11.0, *)) {
[[UIScrollView appearance] setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];
}
這樣設(shè)置后使用UITableview 、UICollectionView、UIScrollview的時(shí)候就不需要再單獨(dú)設(shè)置該屬性了,因?yàn)閁IView以及他的子類都是遵循UIAppearance協(xié)議的。
總結(jié)
以上所述是小編給大家介紹的iOS 11 下適配UITableView 問題,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- iOS應(yīng)用進(jìn)入后臺(tái)后計(jì)時(shí)器和位置更新停止問題的解決辦法
- iOS簡單易用的GCD計(jì)時(shí)器的實(shí)現(xiàn)原理
- IOS中UITableView滾動(dòng)到指定位置
- 詳解iOS開發(fā)中UItableview控件的數(shù)據(jù)刷新功能的實(shí)現(xiàn)
- iOS中的UITableView的重用機(jī)制與加載優(yōu)化詳解
- 詳細(xì)整理iOS中UITableView的性能優(yōu)化
- iOS實(shí)現(xiàn)UITableView數(shù)據(jù)為空時(shí)的提示頁面
- iOS之UITableView計(jì)時(shí)器的實(shí)現(xiàn)方式總結(jié)(NSTimer、DispatchSource、CADisplayLink)
相關(guān)文章
iOS App使用設(shè)計(jì)模式中的模板方法模式開發(fā)的示例
這篇文章主要介紹了iOS應(yīng)用使用設(shè)計(jì)模式中的模板方法模式開發(fā)的示例,例子代碼為Objective-C語言,文中還與Java的相關(guān)實(shí)現(xiàn)進(jìn)行類比,需要的朋友可以參考下2016-03-03
微信JSSDK多圖片上傳并且解決IOS系統(tǒng)上傳一直加載的問題
這篇文章主要介紹了微信JSSDK多圖片上傳并且解決IOS系統(tǒng)上傳一直加載的問題的相關(guān)資料,需要的朋友可以參考下2016-03-03
IOS開發(fā)中使用writeToFile時(shí)的注意事項(xiàng)
本篇文章主要介紹了開發(fā)中使用writeToFile時(shí)的注意事項(xiàng),具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03
iOS實(shí)現(xiàn)后臺(tái)長時(shí)間運(yùn)行
這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)后臺(tái)長時(shí)間運(yùn)行,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10
iOS 本地存儲(chǔ)NSUserDefaults封裝代碼
下面小編就為大家分享一篇iOS 本地存儲(chǔ)NSUserDefaults封裝代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01

