検索

ホームページ  >  に質問  >  本文

ios - tableViewCell に追加されたビューを更新する方法 (セル全体を更新するのではありません)

タイトルの通り質問です。

シナリオ: 現在の tableviewcell が 3 つのビューから結合され、cell.contentView に追加されます。更新するときは、いずれかのセルの 1 つのビューでコンテンツを更新するだけで済みます。
ただし、セルのリフレッシュ メソッドが実行されると、3 つのビューが一緒にリフレッシュされ、データが変更されていないビューがフラッシュされます。
このシナリオを最適化するにはどうすればよいですか?

曾经蜡笔没有小新曾经蜡笔没有小新2713日前1115

全員に返信(3)返信します

  • 怪我咯

    怪我咯2017-06-15 09:25:52

    を使用するか、ビューを再作成する場合、このビューは比較的高価であるため、FPS とキャッシュ セルの高さを最適化しますself.tableView reloadRowsAtIndexPaths: withRowAnimation:刷新会闪,考虑是否是 布局改变了,检测下layoutSubviews

    返事
    0
  • 某草草

    某草草2017-06-15 09:25:52

    はリフレッシュを実装するためのいわゆるreloadRowsAtIndexPathsです。更新中にlayoutSubviewsが呼び出された場合、レイアウトは変更されません。最初にビューのレイアウトを設定し、モデルに渡されたコントロールの値を更新します。
    非同期レンダリングの最適化が行われ、各セルの高さが固定されました。

    返事
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-15 09:25:52

    データはセルの再利用に関連しているため、データ ソースを通じて制御する必要があります。

    返事
    0
  • キャンセル返事