いくつかの UITableView を含むストーリーボードがあります。UITableViewCell の選択状態の別の表示タイプを選択したいと思います。私はよりよく説明します。
ハイライトのタイプを駆動する列挙型またはフラグが必要なコードに直行します。
-(void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
switch(cellViewMode) {
case Simple:
[self simpleCell:selected];
break;
case Full:
[self fullCell:selected];
break;
default:
// default method...
break;
}
}
ビューコントローラーのタイプに基づいて、この cellViewMode フラグを一度設定し、決して変更しないための最良の方法を探しています。実際には、識別子が宣言されているストーリーボードの通常の推奨方法でセルを呼び出していることを考慮してcellForRow: に静的な NSString *cellIdentifier があり、セルの存在をチェックする場合:
- (UITableViewCell *)tableView:(UITableView *)table cellForRowAtIndexPath:(NSIndexPath *)indexPath {
Obj *obj = // get obj from datasource
MyTableViewCell *cell = [table dequeueReusableCellWithIdentifier:MyTableCellIdentifier]; // <-- this is how it is done in storyboard
cell.cellTitle.text=obj.titleForCell;
cell.cellDescr.text=obj.descriptionForCell;
return cell;
}
フラグが必要であると指定しましたが、カテゴリなどの他のソリューション、または適切でエレガントな方法で機能するものは何でも受け入れます。