34

xcode の iOS アプリに少し問題があります。数百のセルをロードする UITableView があります。特定のセルまでスクロールダウンし、detailedviewcontrollers までドリルダウンして再び戻ると、マスター ビュー テーブルが一番上まで戻ってきました。似ている次の2つの質問を見てきました。

UITableView のスクロール位置を取得して保存するにはどうすればよいですか?

UITableView でのスクロール位置の設定

私はまだこれらを機能させることができません。私は最も経験豊富なコーダーではないので、これには本当に苦労しています。

viewWillDisappear や viewDidAppear などを変更する必要があることはわかっていますが、それ以上のことはできません。

このテーブルには reloadData 機能があるため、サーバーから最新のデータを取得したり、検索バーを機能させたりすることができます。

とにかく、救いの手は素晴らしいでしょう。ありがとう、

ルーク

4

8 に答える 8

69

tableViewhere を参照してください。最初にiecontentOffsetのスクロール位置を保存してから、tableViewに戻ったときにそれを再利用する必要がありますtableView

1) いつ、どこに保存するか:

When : その時点で、ドリルダウンしてdetailViewController保存するcontentOffsetときtableView

方法:float verticalContentOffset = tableView.contentOffset.y;

2) tableView を同じスクロール位置に戻す方法:

[tableView setContentOffset:CGPointMake(0, verticalContentOffset)];

これがあなたを助けることを願っています。

于 2013-09-17T08:21:37.120 に答える
1

誰かが疑問に思っている場合は、Prashant N による解決策を試してみましたが、うまくいきました。ただしreloadData、実際にはもうスクロール位置をリセットしないでくださいreloadData

于 2016-04-11T07:05:57.200 に答える