У меня странная проблема - когда я регистрирую TapGestureRecognizer в методе cellForRowAtIndexPath, он отлично работает, но когда я регистрирую TapGestureRecognizer в методе метода initWithStyle в методе Cell, не работает, точка останова не попадает в обработчик ,TapGestureRecognizer не работает в пользовательском TableViewCell
Следующие работы.
Я создал пользовательскую ячейку вида таблицы с соответствующим xib-файлом и зарегистрировал ее.
[self.tableView registerNib:[UINib nibWithNibName:@"MyCell"
bundle:[NSBundle mainBundle]]
forCellReuseIdentifier:@"cell"];
...
and in the cellForRowAtIndexPath
MyCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
...
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(didTapCell:)];
[tap setNumberOfTapsRequired:1];
[cell addGestureRecognizer:tap];
Ниже не работает
@implementation MyCell
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
UITapGestureRecognizer *tgr = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleCellTap:)];
[tgr setDelegate:self];
[tgr setNumberOfTapsRequired:1];
[tgr setNumberOfTouchesRequired:1];
[self addGestureRecognizer:tgr];
//[self.contentView addGestureRecognizer:tgr]; also doesn't work
}
return self;
}
я могу покинуть рабочее решение, но я хочу, чтобы переместить распознавание жестов для инициализации элемента и события пожарного крана через мой делегат.
Почему распознавание красок не работает, если я регистрирую распознаватель в инициализации ячейки?
изменить эту строку [tgr setNumberOfTouchesRequired: 1]; с [tgr setNumberOfTouchesRequired: 2] ;, Его работа для меня ... –