проблемы с пользовательским элементом UITableViewCell - PullRequest
0 голосов
/ 16 июля 2009

Я новичок.

У меня есть пользовательский UITableViewCell с 3 элементами:

UILabel UITextField и UIButton

Мой вопрос: как узнать, в какой ячейке была нажата кнопка или отредактировано textField?

Есть ли способ отследить их?

Спасибо за любые ответы.

Ответы [ 2 ]

1 голос
/ 15 февраля 2010

Если у вас есть только один раздел, вы можете сохранить indexPath.row в button.tag и извлечь его в действии, которое вызывается этой кнопкой.

1 голос
/ 15 февраля 2010

Обычно после настройки пользовательской ячейки я сохраняю NSIndexPath ячейки в заголовке кнопки для состояния UIControlStateApplication.

В вашем tableView: cellForRowAtIndexPath: метод, при настройке ячейки:

[theButton setTitle:(NSString *)indexPath forState:UIControlStateApplication];

Затем в вашем действии кнопки:


- (IBAction) buttonWasClicked:(UIButton *) senderButton {
    NSIndexPath *indexPath;

    indexPath = (NSIndexPath *)[senderButton titleForState:UIControlStateApplication];

    NSLog(@"Sender button was clicked in cell at NSIndexPath section: %d row: %d ", [indexPath section], [indexPath row]);
}

Я не очень доволен этим. Если у кого-то есть более чистый способ сделать это, я хотел бы услышать об этом.

...