UIButton не получает сенсорные события внутри пользовательского UITableViewCell - PullRequest
3 голосов
/ 24 декабря 2010

Я разработал пользовательскую ячейку UItableView в IB. Эта ячейка имеет кнопку UIB со связанным действием. Эта кнопка не получает события касания, однако сама ячейка получает события при вызове.

Что я мог здесь делать не так?

+--------------------------------+
|                     +----------+
|  Cell               | Button   |
|                     +----------+
+--------------------------------+

Когда я нажимаю на кнопку TableViewcell получает события. Что может быть не так?

EDIT:

Я только что проверил, что UIButton также получает сенсорные события, как и UITableViewCell. И в конце этого действие, связанное с UIButton, не вызывается.

Ответы [ 4 ]

2 голосов
/ 07 ноября 2012

У меня была такая же проблема. Наконец, заметил, что у рассматриваемой кнопки не установлен флажок «Включено взаимодействие с пользователем» в инспекторе атрибутов.

0 голосов
/ 11 ноября 2013

Убедитесь, что у вас есть IBAction, связанный с этой кнопкой для состояния UIControlEventTouchUpInside, и взаимодействие с пользователем включено. Владелец файла должен получить событие касания.

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

In customtablecell.h
Вам необходимо объявить новый контроллер, например, UIViewController *parentViewController;
Выполнить свойство и синтезировать
написать ниже строки кода в customtablecell.m файле

-(IBAction)myButtonAction:(id)sender {
 if (self.parentViewController) { 
        [self.parentViewController performSelector:@selector(myButtonClicked: forCellWithLabel:) withObject:sender withObject:[self.NameOfTrack text]];
    }
}

в настраиваемой ячейке xib подключите -(IBAction)myButtonAction:(id)sender к кнопке

в tableViewController

- (UITableViewCell *)tableView:(UITableView *)_tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath method
cell.parentViewController = self;





- (void)myButtonClicked:(id)sender forCellWithLabel:(NSString *)text {
    UIButton *button = (UIButton  *)sender;
  //Do some thing

}
0 голосов
/ 24 декабря 2010

Это может быть не правильно, но это обходной путь,

Если я динамически создаю кнопку в коде, приложение работает нормально.

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