0

セクションと行の両方をいつでも追加または削除できる TableViewController があります。各セクション ヘッダーは、ボタンが追加された UITableViewHeaderFooterView です。

ボタンがタッチされたとき、ボタンがタッチされたセクションのインデックスをどのように決定しますか?

前提条件

テーブルビューを駆動するモデル オブジェクトがあります。モデルには、セクションの数を表す配列を返すプロパティがあります。配列内の各オブジェクトは行を表します。

要件

実装は、状態またはモデル情報の複製に依存してはなりません。

行とセクションは、テーブルビュー アニメーションによって挿入および削除されます。Tableview reloadData は、理想的には更新のために呼び出されません。

4

1 に答える 1

2

(セクション フッター)のインスタンス変数NSMutableArrayを定義します。UIViewsこれは、セクション ヘッダー/フッターのデータソースとして機能します。

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *buttonView = [self.sectionArray objectAtIndex:section];
    return buttonView;
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return [self.sectionArray count];
}

- (void)didPressSectionButton:(id)sender
{
    int section = [self.sectionArray indexOfObject:sender];
}

これは基本的な例にすぎません。NSDictionary を使用して、行とセクションの UITableView 全体を強化できます。KV ペアの使用。

于 2013-10-24T16:12:58.047 に答える