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发行版中被破坏。