UITableView ячейки с кнопками - PullRequest
0 голосов
/ 09 февраля 2011

Я хочу иметь UIButton в каждой UITableViewCell, которая позволит мне выполнять селектор для объекта, соответствующего этой строке. Они работали так, чтобы создать отдельный UITableViewCell для каждой строки (без повторного использования), добавить новый UIButton, помеченный строкой. При нажатии кнопки полученный селектор проверяет тег отправителя, чтобы определить, какой объект нужно изменить.

Есть ли лучший способ сделать это? Во-первых, я не использую ячейки, что является неудачным, и использование UIView.tag кажется очень хакерским.

Ответы [ 2 ]

6 голосов
/ 09 февраля 2011

Вы можете использовать один и тот же номер тега на всех кнопках UIB.

Чтобы извлечь номер строки, по которой щелкнули, внедрите этот код в селекторе:

- (void)buttonClicked:(id)sender

{

    UITableViewCell * clickedCell = (UITableViewCell *)[[sender superview] superview];

    NSIndexPath * clickedButtonPath = [self.tableView indexPathForCell:clickedCell];

    int rownumber = clickedButtonPath.row;
}
0 голосов
/ 09 февраля 2011

Я бы сделал подкласс UITableViewCell, чтобы он хранил ссылку на кнопку. Затем установите эту кнопку при снятии очереди с ячейки. В вызываемом методе отправителем будет кнопка, и вы можете запросить ее суперпредставление, а затем запросить у этого (который является ячейкой) индекс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...