84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
タイトルの通り質問です。
シナリオ: 現在の tableviewcell が 3 つのビューから結合され、cell.contentView に追加されます。更新するときは、いずれかのセルの 1 つのビューでコンテンツを更新するだけで済みます。 ただし、セルのリフレッシュ メソッドが実行されると、3 つのビューが一緒にリフレッシュされ、データが変更されていないビューがフラッシュされます。 このシナリオを最適化するにはどうすればよいですか?
を使用するか、ビューを再作成する場合、このビューは比較的高価であるため、FPS とキャッシュ セルの高さを最適化しますself.tableView reloadRowsAtIndexPaths: withRowAnimation:刷新会闪,考虑是否是 布局改变了,检测下layoutSubviews
self.tableView reloadRowsAtIndexPaths: withRowAnimation:
layoutSubviews
はリフレッシュを実装するためのいわゆるreloadRowsAtIndexPathsです。更新中にlayoutSubviewsが呼び出された場合、レイアウトは変更されません。最初にビューのレイアウトを設定し、モデルに渡されたコントロールの値を更新します。 非同期レンダリングの最適化が行われ、各セルの高さが固定されました。
reloadRowsAtIndexPaths
データはセルの再利用に関連しているため、データ ソースを通じて制御する必要があります。
を使用するか、ビューを再作成する場合、このビューは比較的高価であるため、FPS とキャッシュ セルの高さを最適化します
self.tableView reloadRowsAtIndexPaths: withRowAnimation:
刷新会闪,考虑是否是 布局改变了,检测下layoutSubviews
はリフレッシュを実装するためのいわゆる
reloadRowsAtIndexPaths
です。更新中にlayoutSubviewsが呼び出された場合、レイアウトは変更されません。最初にビューのレイアウトを設定し、モデルに渡されたコントロールの値を更新します。非同期レンダリングの最適化が行われ、各セルの高さが固定されました。
データはセルの再利用に関連しているため、データ ソースを通じて制御する必要があります。