3

私はUITableView私の見解の1つを持っています。tableViewインデックスが 100であるとしましょう。下にスクロールして 50 番目のインデックスを選択すると、別のビューに移動します。

だから私が望むのは、2番目のビューからtableViewビューに戻ると、最初のインデックスからtableViewが表示されるはずですが、現在は以前に選択したインデックスにありました.理解を深めるために下の画像を参照してください.

ここに画像の説明を入力

ここで「スマート」は 25 番目のインデックスです。スマートを選択すると、別のビュー (詳細ビュー) にプッシュされます。もう一度この tableView に戻ると、テーブルはリセットされ、最初のビューから表示されます。どうすればこれを達成できますか? テーブルをリロードしようとしましたが、うまくいきません。

あなたのアイデアを提案してください。

ありがとうございました!!!

4

5 に答える 5

4

次のようなことを試してください:

- (void)viewWillAppear:(BOOL)animated
{
    [self.tableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];
}
于 2013-08-05T08:53:32.140 に答える
3

で最初のインデックスを表示するために使用しtableviewます。

 NSIndexPath *myIndexPath = [NSIndexPath indexPathForRow:1 inSection:0];
    [self.tbl_presentation selectRowAtIndexPath:myIndexPath animated:YES scrollPosition:UITableViewScrollPositionTop];

このコードがお役に立てば幸いです。

于 2013-08-05T09:01:29.740 に答える
2

scrollToRowAtIndexPath:atScrollPosition:animated:のスクロール位置を使用して、テーブル ビューに最初の行にスクロールするように要求する必要がありますUITableViewScrollPositionTop。進行中の他のアニメーションに応じて、遅延後にこれを実行することをお勧めします。

于 2013-08-05T08:54:53.110 に答える
2

u の場合viewWillAppearと同様に、 method で何でもします。calledcome back

- (void)viewWillAppear:(BOOL)animated
{
    [yourTableView.scrollView setContentOffset:CGPointMake(0,0)];
}
于 2013-08-05T08:56:33.423 に答える