2017-09-13 102 views
6

我注意到,預期在iOS上11,因爲「adjustedContentInset」屬性值更改爲「的導航欄」滾動過程中收縮這段代碼完全不是那麼回事:iOS 11:當「adjustedContentInset」更改標題欄時,滾動到頂部?

CGFloat contentInsetTop=[scrollView contentInset].top; 

if (@available(iOS 11.0, *)) 
{ 
    contentInsetTop=[scrollView adjustedContentInset].top; 

} 
//// 

[scrollView setContentOffset:CGPointMake(0, -contentInsetTop) animated:YES]; 

...例如,這可能以140開始,然後減小到88超出最小滾動偏移量。這意味着如果你調用它,它實際上不會一直滾動到頂部。

除了保留原來從當UIScrollView加載在內存中的偏移,有沒有辦法恢復其中的值,以確保它確實不滾動一貫頂部,無論是「adjustedContentInset」?

回答

1

目前,iOS 11確實沒有辦法做到這一點,我聽說過。唯一的方法是捕獲初始值並將其存儲在導航/視圖控制器的生命週期中。

如果我聽到其他消息,我會相應地更新我的答案,但不幸的是它會在基礎iOS 11發行版中被破壞。

相關問題