2009-07-16 6 views
0

Я новичок.пользовательские проблемы с UITableViewCell

У меня есть обычай UITableViewCell с 3-х элементов:

UILabel UITextField и UIButton

Мой вопрос, как я знаю, из какой соте кнопка была нажата или TextField отредактирован?

Есть ли способ отслеживать их?

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

ответ

1

Что я обычно делаю после настройки пользовательской ячейки, я сохраняю 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]); 
} 

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

1

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