0

特定の検索用語に続いて急速に更新されるTwitterストリームであるUIScrollViewがあります。1秒間に多数のツイートが処理されます。ユーザーがテーブルビューのどこにでも触れて、新しいツイートが追加されたときにスクロールを停止して、ユーザーが個々のツイートを停止して読むことができるようにしたいと思います。

現在、次のようなツイートを追加しています。

[self.tweets insertObject:model atIndex:0];
[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:0]] withRowAnimation:UITableViewRowAnimationTop];

ツイートが追加されると、スクロールビューの位置がロックされるため、ツイートに対応するためにビュー全体が下にシフトします。このような速いペースでは、これにより画面上のツイートが判読できないペースでズームされます。理想的には、TableViewとの接触がある場合(それを覆うUIButtonによって実現される)、スクロールの位置がビュー内のその行にロックされるようにしたいと思います。これにアプローチするための最良の方法は何ですか?

4

1 に答える 1

0

ツイートを追加するたびに、テーブル ビューのスクロール位置を変更して高さを考慮してください。これを行うには、 を使用しますsetContentOffset:animated:。パラメータに使用NOanimatedて、変更を即座に行いCGPoint、ツイートの高さに関連する a を渡します。ツイートの高さが 50 の場合は、次のようにします。

[tableView setContentOffset:CGPointMake(tableView.contentOffset.x, tableView.contentOffset.y -50) animated:NO];

これにより、テーブル ビューが 50 ずつ上にスクロールされます。つまり、ユーザーは、追加されたばかりのツイートを表示するためにスクロールする必要があります。

于 2012-05-26T02:34:46.963 に答える