ナビゲーションコントローラから1つのtableviewをポップして、新しいものをソースの同様のデータでプッシュすると、私のテーブルビューに問題が発生します。何とか私は古いテーブルビューからの細胞を見ています。何か案は?前のUITableViewのアイテムが新しいUITableViewに表示されます
答えて
これらが2つの異なるテーブルビューである場合は、おそらくそれらに異なる再利用識別子を付けることをお勧めします。
FirstTableの場合: UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@ "FirstTableViewCell"];
SecondTableの場合: UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@ "SecondTableViewCell"];
私の場合、アイデアをお寄せいただきありがとうございます。私の場合は、それをポップアップしてリフレッシュされたリストに置き換える際に問題が発生していました。将来を知ることは役に立つでしょう! – TChadwick
私は、セルをデキューして(カスタムセルを使用して)応答性を高め、参照をメモリに格納していました。古いテーブルビューをポップしたときに、ポップをアニメートするように設定していました。これはどういうわけか、ちょうど私が新しいUITableViewをスタックにプッシュしたときに、デクッテされたセルにアクセスし、新しいデータの代わりにそれらを表示するように、メモリ内のセルをちょうど長く保持しました。したがって、同様のデータを表示し、UITableViewをポップして新しいデータに置き換える場合は、アニメーションなしでポップしてください。
または、上記のように固有の識別子を与えます。 (しかし、私の解決策はアニメーションの使用を避けることでした。
- 1. UITableView内にUITableViewが表示されない
- 2. ダウンピッカーがUITableViewに表示されない
- 3. UITableViewがUIScrollViewに表示されない
- 4. カスタムUITableViewが表示されない
- 5. UITableView headerViewが表示されない
- 6. UITableViewフッターが表示されない
- 7. UITableViewセクションヘッダーが表示されない
- 8. UITableViewフッターが表示されない
- 9. UITableView tableFooterViewがUITableViewの上部に表示されます - 間違って
- 10. 値がスクロールされた後にUITableViewに表示されます
- 11. UITableViewのセクションインデックスの下に削除ボタンが表示されます
- 12. UITableViewヘッダーには内容が表示されています
- 13. 正しい背景色がUITableviewに表示されない
- 14. 最初の行にUITableView(null)が表示されます
- 15. グループ化されたUITableViewにテキストが表示されない
- 16. ContainerViewにネストされたUITableViewがハイライト表示されない
- 17. UITableViewにデータが全く表示されていません
- 18. UITableViewのローカライズされたアルファベットインデックスを表示
- 19. 2つのカスタムセルが正しく表示されないUITableView
- 20. セル上に表示されるUITableViewサブビュー
- 21. 常に表示されるUITableViewとUITextField
- 22. UITableViewが画面の下に表示されない
- 23. UITableViewセルの問題 - スクロール時にオフスクリーンセルが表示されない
- 24. UITableViewの上に更新ステータスセルを表示しますか?
- 25. 他のUITableViewと重複して表示されるUITableViewとの対話方法
- 26. UITableViewセルの内容がすばやく表示されない
- 27. ビューが閉じる前にUITableViewへの更新を表示する方法
- 28. Swift 3 UITableViewが更新されない
- 29. 行アクションが表示されていると、UITableViewの背景がセルの下に表示されます
- 30. UIRefreshcontrol - UItableviewヘッダービューが表示されず、リフレッシュビューが表示されません。
コードを見ずに言うのは難しいですが、この種のエラーの原因は、cellViewRowAtIndexPath:の既存のビューを変更するのではなく、その後、セルを再利用すると、それらのサブビューはまだ存在していて、表示されているにもかかわらず、追加のサブビューを作成していても表示されています。 – yuji
うわー、ちょっと考えて、応答性を高め、私は古いテーブルビューをポップしたときにポップをアニメーション化するように設定していました。これは何とかメモリ内のセルを保持していました。新しいUITableViewをスタックにプッシュしたとき、デクテッドセルにアクセスして代わりに同様のデータを表示し、UITableViewをポップして新しいデータと置き換える予定の場合は、アニメーションなしで... – TChadwick
ニースキャッチ!私は '[self.tableView reloadData];がキャッシュをフラッシュするので、アニメーションをポップしてリロードを呼び出すことができます。 –