多くのiPhoneアプリケーションでは、UITableViewControllerがチェックボックスリストとして使用されています。チェックボックスリストとしてUITableViewControllerを使用するときの既定項目の選択
これを自分自身で実装しようとしている間、私は項目をプログラムでデフォルト(つまり、デフォルトでは)にするために多くのフープを飛ばしなければなりませんでした。 、リストが表すものの現在の値)。私が思い付くことができました最高のは、私のビューコントローラクラスでviewDidAppearメソッドをオーバーライドすることである:
- (void)viewDidAppear:(BOOL)animated {
NSInteger row = 0;
// loop through my list of items to determine the row matching the current setting
for (NSString *item in statusItems) {
if ([item isEqualToString:currentStatus]) {
break;
}
++row;
}
// fetch the array of visible cells, get cell matching my row and set the
// accessory type
NSArray *arr = [self.tableView visibleCells];
NSIndexPath *ip = [self.tableView indexPathForCell:[arr objectAtIndex:row]];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:ip];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
self.lastIndexPath = ip;
[super viewDidAppear:animated];
}
は、これがあれば、特定のセルとindexPathへの参照を取得するための最良の/のみ/最も簡単な方法です私はデフォルトで行をマークしたいですか?
私はそのコードで馬鹿になっていると思った。遅い脳今日:P – Dana