0

カスタムのプログラムによる UI の変更を伴う UITableViews を使用するアプリに取り組んでいます。たとえば、プログラムによる UITableViewCell の変更がいくつかあります。

...
cell.backgroundColor = [UIColor clearColor];
cell.textLabel.font = [UIFont fontWithName:@"Georgia" size:14];
cell.selectedBackgroundView = anImageView;
...

そして、UITableView の設定は次のようになります。

self.table.separatorColor = [UIColor darkGrayColor];

新しいテーブルを作成するたびに、これらのプロパティを継承する UITableView と UITableViewCell のサブクラスを作成するにはどうすればよいですか? これらのプロパティはすべて各テーブルにあり (約 3 ~ 4 個あります)、不要なコードの乱雑さを減らしたいと考えています。

4

2 に答える 2

1

2 つのサブクラスを作成します。

独自のテーブル ビュー サブクラス (initWithFrame:style: メソッドでテーブル ビューを変更できる場所) と独自のテーブル ビュー セル サブクラス (initWithStyle:reuseIdentifier: メソッドで変更を行う場所)。

また、テーブル ビューの dataSource プロパティをオーバーライドし、-(UITableViewCell *)tableView:(UITableView *)table cellForRowAtIndexPath:(NSIndexPath *)pathメソッドが標準クラスではなく UITableViewCell サブクラスを返すように強制する独自のプロトコルを作成することもできます。

于 2012-04-16T21:34:53.040 に答える
1

UITableViewCell は、常に別のクラス (および該当する場合は nib) である (必要がある) ため、再利用が最も簡単ですが、Table View 自体を再利用するにはサブクラスが必要になります。クラスごとに UITableViews を作成するのがいかに簡単かを考えると、これは少し多めですが、そうしなければならない場合は作成できます。サブクラスに関しては、 UITableView クラスは非常にうるさいことに注意してください。

于 2012-04-16T21:35:03.207 に答える