在 iOS8 中使用 ModalPresentationStyle OverCurrentContext 时 ScrollsToTop 不起作用
ScrollsToTop not working when using ModalPresentationStyle OverCurrentContext in iOS8
当呈现具有 UIScrollView
或 UIScrollView
的子类(如 UITableView
或 UICollectionView
并使用 UIModalPresentationStyleOverCurrentContext
呈现的控制器的模态视图控制器时当点击状态栏时,scrollview 不会滚动到顶部,这种行为发生在 iOS8
而不是 iOS7
.
点击状态按钮时不会滚动到顶部的一个原因是有多个滚动视图。控制器中只有一个 scrollView 应该启用 scrollsToTop,而所有其他滚动视图都应该禁用它。虽然这在 iOS7
中不会发生,但在 iOS8
中,如果呈现控制器具有启用了 scrollsToTop 的滚动视图,则呈现控制器的滚动视图将不会滚动到顶部。由于在当前上下文中呈现模态视图控制器时不会调用 viewWillAppear
,viewWillDisappear
,因此呈现控制器中的滚动视图应该禁用 scrollsToTop
属性 并且如果需要有允许呈现的控制器重新启用它的回调。
当呈现具有 UIScrollView
或 UIScrollView
的子类(如 UITableView
或 UICollectionView
并使用 UIModalPresentationStyleOverCurrentContext
呈现的控制器的模态视图控制器时当点击状态栏时,scrollview 不会滚动到顶部,这种行为发生在 iOS8
而不是 iOS7
.
点击状态按钮时不会滚动到顶部的一个原因是有多个滚动视图。控制器中只有一个 scrollView 应该启用 scrollsToTop,而所有其他滚动视图都应该禁用它。虽然这在 iOS7
中不会发生,但在 iOS8
中,如果呈现控制器具有启用了 scrollsToTop 的滚动视图,则呈现控制器的滚动视图将不会滚动到顶部。由于在当前上下文中呈现模态视图控制器时不会调用 viewWillAppear
,viewWillDisappear
,因此呈现控制器中的滚动视图应该禁用 scrollsToTop
属性 并且如果需要有允许呈现的控制器重新启用它的回调。