scrollView在狀態(tài)欄下面的問題
解決方法:
if (@available(iOS 11.0, *)) {
? ? ? ? _scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
? ? } else {
? ? ? ? // Fallback on earlier versions
? ? ? ? self.automaticallyAdjustsScrollViewInsets = NO;
? ? }
詳細說明:
UIViewController的automaticallyAdjustsScrollViewInsets屬性被棄用了,系統(tǒng)推薦我們使用UIScrollView的contentInsetAdjustmentBehavior屬性替代之雳锋。關于這個屬性黄绩,系統(tǒng)提供了四種行為模式:
UIScrollViewContentInsetAdjustmentAutomatic
UIScrollViewContentInsetAdjustmentScrollableAxes
UIScrollViewContentInsetAdjustmentNever
UIScrollViewContentInsetAdjustmentAlways
contentInsetAdjustmentBehavior屬性的這四個值:
1、首先是UIScrollViewContentInsetAdjustmentNever玷过,如名所示:就算你的ScrollView超出了safeAreaInsets爽丹,系統(tǒng)不會對你的scrollView.adjustedContentInset做任何事情筑煮,即不作任何調整;
2粤蝎、UIScrollViewContentInsetAdjustmentAlways: 只要超了安全區(qū)真仲,就調整相應的超出值,調整的最大值不會超過安全區(qū)相應EdgeInsets方向的最大值初澎,如剛剛上述第2點秸应;
3、UIScrollViewContentInsetAdjustmentScrollableAxes:系統(tǒng)會根據(jù)ScrollView的滾動方向來進行判斷碑宴,假設我只是一個橫向滾動的ScrollView软啼,那即便我的布局起點和高度值超過了self.view的安全區(qū),那么系統(tǒng)也不會調整
4延柠、scrollView.adjustedContentInset對應的top與bottom方向值焰宣,只可垂直方向滾動同理,直接設置scrollView.scrollEnabled = NO也同理捕仔;
UIScrollViewContentInsetAdjustmentAutomatic:系統(tǒng)默認值匕积。文檔上是這樣說的:它與UIScrollViewContentInsetAdjustmentScrollableAxes行為相似,但是為了兼容以前①這種情況榜跌,即使scrollView是不可滾動闪唆,也會根據(jù)safeAreaInsets超出范圍進行調整。
參考鏈接: