Отдельные действия для каждого UIButton в пользовательском UITableViewCell - PullRequest
1 голос
/ 26 февраля 2012

В моем приложении я создал пользовательскую ячейку табличного представления с кнопкой внутри нее.Мне нужно сделать конкретные действия, когда каждая кнопка нажата.В данный момент я могу добавить действия к кнопкам, чтобы при нажатии вызывались действия, но я не могу определить, какая кнопка отвечает за это действие.Как я могу выполнять различные операции в зависимости от пользовательских событий на кнопках?Я мог бы сделать это обычным способом, установив свойство «tag» и проверив, используя

[sender tag]

, но не знаю в этом случаеЗаранее спасибо.

Ответы [ 3 ]

0 голосов
/ 26 февраля 2012

Создайте цикл for и назначьте каждой кнопке инкрементный тег (возможно, на основе номера строки), а также один метод в элементе управления представлением, который является целью (все кнопки получают один и тот же селектор).

В вызываемом методе извлеките номер тега и выполните с ним необходимые действия.

0 голосов
/ 27 февраля 2012

Вы, вероятно, добавляете кнопки в ячейки в cellForRowAtIndexPath.

Если на вашем столе только один раздел, то это легко. Просто измените cellForRowAtIndexPath.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    // .. create cell

    // .. add button

    myButton.tag = indexPath.row;
    [myButton addTarget: target action: @selector(buttonClicked:) forControlEvents: UITouchUpInside];

    return cell;
}

-(void) buttonClicked:(id)sender {

  NSLog (@"user clicked button in row %d", [(UIButton *)sender tag]);

  // ..do your stuff here  
}
0 голосов
/ 26 февраля 2012

Пример:

[button1 addTarget: target action: @selector(action1) forControlEvents: UITouchUpInside];
[button2 addTarget: target action: @selector(action2) forControlEvents: UITouchUpInside];
[button3 addTarget: target action: @selector(action3) forControlEvents: UITouchUpInside];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...