当我点击我的tableView的详细信息按钮时...我可以设法获取部分编号,行号,甚至单元格本身......但为什么实际的“详细信息按钮”无法获得? (NSLog始终为按钮显示“(null)”。)
- (void) tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath
{
int section = indexPath.section;
int row = indexPath.row;
UITableViewCell *aCell = [tableView cellForRowAtIndexPath:indexPath];
UIButton *detailButton = (UIButton *)[aCell accessoryView];
// Why is detailButton null?
NSLog(@"accessory button tapped for row with index path %d x %d \n cell=(%@) \n button=(%@)", section, row, aCell, detailButton);
}
答案 0 :(得分:1)
附件视图是UIView而不是UIButton。也许将其转换为按钮会抛出描述方法。只是一个猜测。
答案 1 :(得分:0)
您最好的选择是访问视图中的按钮。也许像是
UIButton* detailBtn = [[UIButton alloc] init];
for (UIButton* detail in aCell.accessoryView.subviews)
{
detailBtn = detail;
}
这假设您只在附件视图中有详细信息按钮,从子视图中选择它,并在详细信息中创建对它的引用:)