ios UIScrollView 有一个错误的默认 contentOffset - swift
ios UIScrollView have a bad default contentOffset - swift
我在主视图中的滚动视图中有一个视图
问题是我的 scrollView 有一个错误的默认 contentOffset。
他的值在纵向是(0, -64)
Apple 文档说
The default value is CGPointZero.
我将此代码放在我的控制器上以临时处理它:
dispatch_async(dispatch_get_main_queue(), {
self.scrollView.setContentOffset(CGPointZero, animated:false)
})
为什么我的 contentOffset 没有好的默认值?
这可能是视图插图的问题。
在您的 XIB/Storyboard 视图控制器上,确保 取消选中 调整滚动视图插入
或在您的代码中添加 self.automaticallyAdjustsScrollViewInsets = false
我在这个网站上找到了解释:
http://www.codelord.net/2013/10/18/adapting-scroll-views-to-ios-7/
Handling navigation bar on top of our scroll view
iOS 7 视图当然带有新外观,其中滚动视图位于导航栏下方以获得不错的效果。可以手动更改滚动视图的 contentInset 以覆盖顶部重叠的部分,但手动这样做既乏味又不好玩。如果我的 ViewController 将 automaticallyAdjustsScrollViewInsets 设置为 YES,我很高兴地发现处理它应该是免费的。
这对我来说不是开箱即用的,因为事实证明,滚动视图必须是 ViewController 的 UIView 的第一个子视图才能发生魔法。我不得不重新排序我的子视图,然后魔法开始滚动。
Swift 4.2+
scrollView.contentInsetAdjustmentBehavior = .never
我在主视图中的滚动视图中有一个视图
问题是我的 scrollView 有一个错误的默认 contentOffset。 他的值在纵向是(0, -64)
Apple 文档说
The default value is CGPointZero.
我将此代码放在我的控制器上以临时处理它:
dispatch_async(dispatch_get_main_queue(), {
self.scrollView.setContentOffset(CGPointZero, animated:false)
})
为什么我的 contentOffset 没有好的默认值?
这可能是视图插图的问题。
在您的 XIB/Storyboard 视图控制器上,确保 取消选中 调整滚动视图插入
或在您的代码中添加 self.automaticallyAdjustsScrollViewInsets = false
我在这个网站上找到了解释:
http://www.codelord.net/2013/10/18/adapting-scroll-views-to-ios-7/
Handling navigation bar on top of our scroll view
iOS 7 视图当然带有新外观,其中滚动视图位于导航栏下方以获得不错的效果。可以手动更改滚动视图的 contentInset 以覆盖顶部重叠的部分,但手动这样做既乏味又不好玩。如果我的 ViewController 将 automaticallyAdjustsScrollViewInsets 设置为 YES,我很高兴地发现处理它应该是免费的。
这对我来说不是开箱即用的,因为事实证明,滚动视图必须是 ViewController 的 UIView 的第一个子视图才能发生魔法。我不得不重新排序我的子视图,然后魔法开始滚动。
Swift 4.2+
scrollView.contentInsetAdjustmentBehavior = .never