UITableViewでアクセサリがタップされた行を取得
普通のタップであれば、以下のようにUITableViewの選択行を取得することができます。
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
アクセサリをタップした場合は、選択行が移動しないため、上記の方法では正しい値が取得できません。StoryBoardのSegueを利用する場合は、prepareForSegueメソッドの中で以下のようにして取得することができます。
UITableViewCell *cell = (UITableViewCell*)sender;
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
NSLog(@"row=%d",indexPath.row);
Segueを使わない場合は、TableViewDelegateの以下のメソッドを使用します。
- (void)tableView:(UITableView *)tableView
accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath
参考URL
この記事は役に立ちましたか?
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について