私はUITableViewController
このようなものを持っています。UIBarButtonItem
各行の accessoriesView に があるグループ化されたテーブル ビュー。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
UIToolbar *toolBar = [[TransparentToolbar alloc] init];
UIBarButtonItem *loginButton = [[UIBarButtonItem alloc] initWithTitle:@"Check"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(login:)];
toolBar.frame = CGRectMake(0, 0, 100, 103);
toolBar.items = @[loginButton];
cell.accessoryView = toolBar;
return cell;
}
UITableViewCell
今、対応する をクリックしたときのインデックスパスを取得しようとしていますUIBarButtonItem
。(ソース)
- (void)login:(UIBarButtonItem *)button
{
UIBarButtonItem *barButton = button;
UIView *view = [barButton valueForKey:@"view"];
UITableViewCell *cell = (UITableViewCell *)view.superview;
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
NSLog(@"secton: %d", indexPath.section);
}
しかし、どのバーボタンをクリックしても 0 しか返されません。誰でも何が問題なのか、これを修正する方法を教えてもらえますか? 本当にありがたいです。
ありがとうございました。