iOS 11:当“adjustedContentInset”更改标题栏时,滚动到顶部?

iOS 11:当“adjustedContentInset”更改标题栏时,滚动到顶部?

问题描述:

我注意到,预期在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”?

目前,iOS 11确实没有办法做到这一点,我听说过。唯一的方法是捕获初始值并将其存储在导航/视图控制器的生命周期中。

如果我听到其他消息,我会相应地更新我的答案,但不幸的是它会在基础iOS 11发行版中被破坏。