私はテーブルを持っています。バックエンドからリモートデータを取得するビューは、すべて正常に動作しています。ユーザーが任意のセルをクリックして他のViewController(詳細コントローラ)戻るボタンを押すと、テーブルビューは選択されたセルにスクロールされ、上に戻ることはありません。以下に示すようにtableView.scrollToRow
を試しましたが、動作しません。私は、任意のヘルプやアイデアがはるかにUITableViewナビゲーション後に選択されたセルにスクロール
0
A
答えて
1
viewDidLoad
のみのビューコントローラの初期化時に一度呼び出され理解されるであろう、私はそれが
class feeds: UITableViewController {
var data = [AnyObject]()
override func viewDidLoad() {
super.viewDidLoad()
LoadData()
}
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier", for: indexPath)
// configur tabl cell
return cell
}
func LoadData(){
// Fetch Feeds to dataArray
// Reload UITable View
self.tableView.reloadData()
let celloffset = UserDefaults.standard.integer(forKey: "celloffset")
if celloffset != 0{
let index = IndexPath(item: celloffset, section: 0)
self.tableView.scrollToRow(at: index, at: UITableViewScrollPosition.middle, animated: false)
}
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
UserDefaults.standard.set(indexPath.row, forKey: "celloffset")
// Navigate to Details VC
}
}
をロードしません賢明な他の私のデータをロードする機能でtableView.reloadData()
を呼んでいることを知りませんナビゲーションスタック上でビューコントローラをポップするとき。あなたが最初のビューコントローラに戻って来ているときviewDidLayoutSubviews
override func viewDidLayoutSubviews() {
LoadData()
}
1
でLoadData()
を呼び出し、その後、再びデータをフェッチする必要はありません。単にViewWillAppear
メソッドを使用してください。 celloffset
とスクロールテーブルビューを取得します。
let celloffset = UserDefaults.standard.integer(forKey: "celloffset")
if celloffset != 0{
let index = IndexPath(item: celloffset, section: 0)
self.tableView.scrollToRow(at: index, at: UITableViewScrollPosition.middle, animated: false)}
+0
返信いただきありがとうございますが、テーブルビューに戻ったときにデータを再度読み込まない方法について詳しく説明できますか?私は配列にデータを格納しています。テーブルビューに戻ると、この配列は再作成されますので、データを再読み込みする必要があります –
関連する問題
- 1. 最後のセルを削除した後にUITableViewセルが選択されない
- 2. uitableviewセル選択スタイルのUITableViewセルを選択
- 3. スクロールしてセルを選択した後にUICollectionViewがクラッシュする
- 4. IOS uitableviewセルの選択された背景
- 5. 値がスクロールされた後にUITableViewに表示されます
- 6. tvOS UITableViewがセルにスクロール
- 7. ClearSelection後にDatagridviewセルが選択されました
- 8. UICollectionViewスクロールで選択したセルが変更されます
- 9. UITableViewは上下にスクロールしてセルを選択しています
- 10. UITableView複数選択、あらかじめ選択されたアイテム
- 11. recyclerviewの選択されたイメージはスクロール時に選択解除されます
- 12. UITableViewセルの問題 - スクロール時にオフスクリーンセルが表示されない
- 13. 別のビューをロードしていないUITableViewセルが選択されました
- 14. UITableview 2つのセルの上にスクロール
- 15. 最後に選択されたラジオボタンの選択
- 16. 日付ピッカー選択されたセルCSS
- 17. Tableviewで最初のセルが選択された後にのみ表示される2番目のセルios
- 18. iOS UITableViewはスクロール時に選択できません
- 19. Popoverテーブルビューでセルを選択した後にUILabelがリフレッシュされない
- 20. UITableViewセルで選択を「永久」に保つ
- 21. uitableviewに選択したセルがあるかどうかを知るには
- 22. UITableViewは選択したセルを検出しますか?
- 23. UITableViewで選択したセルからデータを渡す
- 24. uitableviewの選択されたセルの高さを迅速に増やす方法は?
- 25. UITextFieldsオーバーラップUITableViewスクロール後
- 26. UITableViewは複数のセルを選択したときに複数の選択を可能にする
- 27. コレクションのセルが選択された後にチェックが外されないようにしました
- 28. UITableView最後のセル
- 29. 最後に表示されたuitableviewセルにボタンを描画する方法は?
- 30. UITableViewCellアクセサリのチェックマークは、行の選択後にスクロールに保存されません。
お返事に感謝し、私はその理由、エラー ' 'NSRangeException' の下に取得しています:「 - [のUITableView _contentOffsetForScrollingToRowAtIndexPath:atScrollPosition:]:セクションの境界(5)(0)を越えて行(7) 。 '' –
存在しない行にスクロールしようとしています。 –
私はその意味を知っています、私の配列は、私がデータを再読み込みしているので、私はその考えていると思います! –