【问题标题】:iOS7 UITableView scrollsToTop doesn't work [duplicate]iOS7 UITableView scrollsToTop 不起作用 [重复]
【发布时间】: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 好的,我明白了!请留下答案,我会投票。

标签: ios uitableview uiscrollview


【解决方案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>
      

      【讨论】:

        猜你喜欢
        • 2018-10-30
        • 1970-01-01
        • 2015-04-02
        • 1970-01-01
        • 1970-01-01
        • 2013-10-04
        • 1970-01-01
        • 1970-01-01
        • 2014-03-29
        相关资源
        最近更新 更多