iOS7 UITableView scrollsToTop 不起作用 [重复]

Posted

技术标签:

【中文标题】iOS7 UITableView scrollsToTop 不起作用 [重复]【英文标题】:iOS7 UITableView scrollsToTop doesn't work [duplicate] 【发布时间】:2013-10-15 06:09:43 【问题描述】:

我的视图控制器中只有一个 UITableView 并且有我的代码:

@interface MyViewController ()<UITableViewDataSource,UITableViewDelegate>

self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, [UIScreen mainScreen].bounds.size.height) style:UITableViewStylePlain];
self.tableView.delegate = self;
self.tableView.dataSource = self;
self.tableView.scrollsToTop = YES;
[self.view addSubview:self.tableView];

它甚至不运行:

- (BOOL) scrollViewShouldScrollToTop:(UIScrollView*) scrollView

我不知道为什么,我该如何解决这个问题?非常感谢。

【问题讨论】:

屏幕上是否还有其他滚动视图(或滚动视图子类,例如表格视图或集合视图)? @Virussmca 感谢您的回复,我正在使用第三部分库,我的 TableView 后面还有另一个 uitableView。 正如苹果文档所说,“在 iPhone 上,如果屏幕上有多个滚动视图将 scrollsToTop 设置为 YES,则滚动到顶部手势无效。” @Virussmca 好的,我明白了!请留下答案,我会投票。 【参考方案1】:

屏幕上是否有多个滚动视图、表格视图或集合视图?

如果是这样,只有其中一个可以将 scrollsToTop 设置为 YES,否则 ios7 不会将其中任何一个滚动到顶部。

正如苹果文档所说,“在 iPhone 上,如果屏幕上有多个滚动视图将 scrollsToTop 设置为 YES,则滚动到顶部手势无效。”

来自Can't get scrollsToTop working on iOS7的参考

【讨论】:

【参考方案2】:

ScrollsToTop 不是 UITableViewDelegate/UITableViewDatasource 的方法。 尝试将 UIScrollDelegate 添加到 MyViewController 界面中。

【讨论】:

【参考方案3】:

您可能会忘记使用 ScrollView Delegate。

@interface MyViewController ()<UITableViewDataSource,UITableViewDelegate,UIScrollViewDelegate>

instead of 

@interface MyViewController ()<UITableViewDataSource,UITableViewDelegate>

【讨论】:

以上是关于iOS7 UITableView scrollsToTop 不起作用 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS7 中滚动 UITableView

UITableView 导致 iOS7 崩溃?

在 UITableviewCell (ios7) 中嵌入的 UITableView 中滚动

iOS7.0中UITableView单元格背景的区别

iOS7 UITableview 在重新加载部分/行时很慢

iOS7 UITableView scrollsToTop 不起作用 [重复]