3

ビューに 3 つのテーブルビューがあり、すべてのテーブルで同時に一番上にスクロールする機能を有効にしたいです。つまり、ユーザーがステータス バーをタップすると、3 つのテーブルすべてが一番上の位置にスクロールされます。

すべての tableViews の scrollsToTop プロパティと、このプロパティの YES/No のさまざまな組み合わせを使用してみました。例えば

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

しかし、これを達成することはできません。すべてのテーブルのコンテンツ オフセットを一番上の位置に設定するか、その他の回避策を試みることができるように、ステータス バーのタップ イベントを取得する方法はありますか。

どんな助けでも大歓迎です。

4

1 に答える 1

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;
}
于 2012-10-15T14:19:13.110 に答える