点击状态栏时,将所有滚动视图滚动到顶部

时间:2012-10-12 12:06:52

标签: iphone objective-c uitableview uiscrollview

我在视图中有3个tableviews,我想同时为所有表启用滚动到顶部功能,即,如果用户点击状态栏,则所有三个表都应滚动到顶部位置。

我尝试过使用所有tableViews的scrollsToTop属性以及此属性的YES / No的各种组合。例如

table1.scrollsToTop = YES;
table2.scrollsToTop = NO;
table3.scrollsToTop = NO;

但无法实现这一目标。我们是否有办法在状态栏上点击事件,以便我可以尝试将所有表格的内容偏移设置为最高位置或任何其他工作。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

通过覆盖如下所示的scrollViewShouldScrollToTop方法解决了这个问题, -

- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView { 
  [table1 scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];
  [table2 scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];
  [table3 scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];

  return NO;
}