我在我的最新应用中针对iOS7进行了定向开发,但是点击状态栏似乎无法将tableView或collectionView滚动到顶部。
我已经设置了self.tableView.scrollsToTop = true
,但仍然没有任何反应。
我知道苹果在iOS7中显着改变了状态栏,但这些更改是否破坏了scrollsToTop
功能?
更新
回应答案中的评论,我测试以确保我的collectionView确实是屏幕上唯一的scrollView,结果它就是唯一的。
(lldb) po [self.view recursiveDescription]
<UIView: 0x1092ddf0; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x109357e0>>
| <UICollectionView: 0x11351800; frame = (0 0; 320 568); clipsToBounds = YES; opaque = NO; autoresize = W+H; gestureRecognizers = <NSArray: 0x10966080>; layer = <CALayer: 0x109623a0>; contentOffset: {0, -64}> collection view layout: <UICollectionViewFlowLayout: 0x10940a70>
| | <UIImageView: 0x10965fa0; frame = (0 564.5; 320 3.5); alpha = 0; opaque = NO; autoresize = TM; userInteractionEnabled = NO; layer = <CALayer: 0x10965ee0>> - (null)
| | <UIImageView: 0x10948f60; frame = (316.5 561; 3.5 7); alpha = 0; opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0x10966030>> - (null)
更新 #2
不确定是否重要,但我正在使用标准的iOS7 NavigationController,其中navigationBar是透明的,并在我的collection/tableViews滚动到下面时应用模糊效果。
更新 #3
找到问题所在了。原来屏幕上有不止一个scrollView。我的应用程序在主部分下面有一个左侧抽屉菜单,该菜单有一张选项的tableView。我只需设置self.menuTable.scrollsToTop = false
即可使其在整个应用程序中按预期工作。无需实现scrollView Delegate方法或其他任何内容。