iPhone: как определить, когда пользователь нажимает кнопку в пользовательском UITableViewCell - PullRequest
0 голосов
/ 06 июля 2011

Я создал персонализированный вызов, который вызывается в UITableViewCell (cellForRowAtIndexPath).Все отлично работало, но затем я добавил кнопку (UIButton) в ячейку.«Ссылочный выход» - это пользовательская ячейка.

Я не могу понять, как читать, когда пользователь нажимает кнопку.Нужно ли мне объявлять метод делегата в заголовочном файле, содержащем таблицу или настраиваемый заголовок ячейки?

Я пробовал метод - (void)buttonPressedAction:(id)sender {}, но, похоже, он не обнаруживает при нажатии кнопки

Я также пытался:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

NSSet *aTouch = [event allTouches];
UITouch *touch = [aTouch anyObject];
CGPoint currentTouchPosition = [touch locationInView:self.dashboardTable];
NSIndexPath *indexPath = [self.dashboardTable indexPathForRowAtPoint: currentTouchPosition];

NSLog(@"indexPath %@",indexPath);

}

, но опять же, ничего не регистрируется при нажатии кнопки.Я попытался добавить UIGestureRecognizerDelegate в .h, но безуспешно.

Любая помощь приветствуется.

1 Ответ

1 голос
/ 06 июля 2011

Вам необходимо установить действие кнопки.Если вы делаете это XIB, все, что вам нужно сделать, это нажать на кнопку управления, а затем перетащить на контроллер.Это должно дать вам список действий, доступных для кнопки.

Чтобы сделать это в коде, вы должны использовать - (void) addTarget: (id) target action: (SEL) action forControlEvents: (UIControlEvents) controlEventsМетод.

[myButton addTarget:myTargetController action:@selector(myAction:) forControlEvents:UIControlEventTouchUpInside];
...