タイトルの通り質問です。
シナリオ: 現在の tableviewcell が 3 つのビューから結合され、cell.contentView に追加されます。更新するときは、いずれかのセルの 1 つのビューでコンテンツを更新するだけで済みます。
ただし、セルのリフレッシュ メソッドが実行されると、3 つのビューが一緒にリフレッシュされ、データが変更されていないビューがフラッシュされます。
このシナリオを最適化するにはどうすればよいですか?
怪我咯2017-06-15 09:25:52
を使用するか、ビューを再作成する場合、このビューは比較的高価であるため、FPS とキャッシュ セルの高さを最適化しますself.tableView reloadRowsAtIndexPaths: withRowAnimation:
刷新会闪,考虑是否是 布局改变了,检测下layoutSubviews
某草草2017-06-15 09:25:52
はリフレッシュを実装するためのいわゆるreloadRowsAtIndexPaths
です。更新中にlayoutSubviewsが呼び出された場合、レイアウトは変更されません。最初にビューのレイアウトを設定し、モデルに渡されたコントロールの値を更新します。
非同期レンダリングの最適化が行われ、各セルの高さが固定されました。