行ごとにカスタムセルを使用するテーブルビューがあります。セル/行ごとに 3 つのラベルがあります。3 つの最初のラベルには数字 (日) が含まれています。これは各行で同じです。問題は、一部のラベルに次の行に同じ値が含まれていることです。私が達成したいのは、次の行の値が現在の行の値と同じである場合です。次の行のラベルが非表示になります。
これを行う方法?
行ごとにカスタムセルを使用するテーブルビューがあります。セル/行ごとに 3 つのラベルがあります。3 つの最初のラベルには数字 (日) が含まれています。これは各行で同じです。問題は、一部のラベルに次の行に同じ値が含まれていることです。私が達成したいのは、次の行の値が現在の行の値と同じである場合です。次の行のラベルが非表示になります。
これを行う方法?
対処できるシナリオは 2 つあります。
最初の1つ。
表示されたときにtableView
、ラベル内に異なる値を持つセルのみが含まれるようにすることができます。この場合、rmaddy が言ったように、値の繰り返しを避けるために、tableView データ ソースを適切にフィルタリングしてから、tableView を表示する必要があります。
2番目のもの。
値が繰り返される「初期」tableViewを表示してから、ラベル内に異なる値を持つセルのみを表示するように更新します(おそらくアニメーションを介して)。このシナリオでは、ソース データをフィルター処理してから呼び出す[tableView reloadData]
か、非表示にする必要があるセルを検出して (つまり、それらの を取得しているNSIndexPath
)、tableView を介して更新することができます。
[tableView beginUpdates]
// Here use deleteRowsAtIndexPaths:withRowAnimation:
[tableView endUpdates]