Не удается найти фактическую «кнопку детализации» в строке таблицы. - PullRequest
0 голосов
/ 30 июня 2010

Когда я нажимаю кнопку детализации моего tableView ... я могу получить номер секции, номер строки и даже саму ячейку ... но почему фактическая "кнопка детализации" недоступна? (NSLog всегда отображает «(ноль)» для кнопки.)

- (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);
}

Ответы [ 2 ]

1 голос
/ 30 июня 2010

Дополнительный вид - это UIView, а не UIButton.Возможно, приведение к кнопке сбрасывает метод описания.Просто предположение.

0 голосов
/ 15 ноября 2012

Лучше всего получить доступ к кнопке в представлении.Возможно, что-то вроде

UIButton* detailBtn = [[UIButton alloc] init];
for (UIButton* detail in aCell.accessoryView.subviews)
{
     detailBtn = detail;
}

Это предполагает, что у вас есть только кнопка детализации в дополнительном представлении, она выбирается из подпредставления и создается ваша ссылка на нее подробноBtn:)

...