gpt4 book ai didi

iphone - 无法让 scrollsToTop 在 iOS7 上工作

转载 作者:太空狗 更新时间:2023-10-30 03:11:28 26 4
gpt4 key购买 nike

我在最新的应用程序中针对 iOS7,点击状态栏似乎不会将 tableView 或 collectionView 滚动到顶部。

我已经设置了 self.tableView.scrollsToTop = true 但仍然没有任何反应。

我知道 Apple 在 iOS7 中对状态栏进行了重大更改,但这些更改是否破坏了 scrollsToTop 功能?

更新

为了回应其中一个答案中的评论,我进行了测试以确保我的 Collection View 确实是屏幕上唯一的 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 方法或任何东西。

最佳答案

屏幕上是否有多个 ScrollView /表格 View / Collection View ?如果是这样,则只有其中一个可以拥有 scrollsToTop设置为 YES,否则 iOS7 不会将它们中的任何一个滚动到顶部。

您还可以实现 UIScrollViewDelegate 方法 scrollViewShouldScrollToTop:如果传入的 ScrollView 等于您要滚动到顶部的 View ,则返回 YES:

- (BOOL) scrollViewShouldScrollToTop:(UIScrollView*) scrollView {
if (scrollView == self.myTableView) {
return YES;
} else {
return NO;
}
}

关于iphone - 无法让 scrollsToTop 在 iOS7 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19059024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com