2015-02-12 2 views
-1
[cell.textView addGestureRecognizer:[[UIPanGestureRecognizer alloc] initWithTarget:cell action:@selector(labelClick)]]; // textView is a UILabel 

Если я выбираю ячейку, это может быть метод callselect сначала, поэтому метка не может быть ответом. Моя цель в том, что когда я нажимаю ярлык, он что-то сделает, и tableView не покажет мне выбранный стиль.UITableViewCell внутри UILabel внутри, как сделать ответ метки

+0

вместо UILabel использовать UIButton. Просто попробуй? –

+0

try cell.textView.userInteractionEnabled = YES; –

ответ

0

В ваших же выберите метод надстройку следующий код

YourCell *cell = (YourCell*)[tableView cellForRowAtIndexPath:indexPath]; 
    [cell setSelectionStyle:UITableViewCellSelectionStyleNone]; 

Это сделает вашу клетку, чтобы не выделить по выбору.

Кроме того, добавьте следующий код для вашей этикетки

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(youraction:)]; 
[tap setDelegate:self]; 
[tap setNumberOfTapsRequired:1]; 
[yourLabel setUserInteractionEnabled:YES]; 
[yourLabel addGestureRecognizer:tap] 
+0

Лучше установить SetSelectionStlye в CellForRowAtIndexPath –

1

Во-первых Использование UITapGestureRecognizer вместо UIPanGestureRecognizer, как это: -

[cell.textView addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(labelClick)]]; 

и didSelectRowAtIndexPath: сделать это, чтобы отменить выбор tableviewcell

[tableView deselectRowAtIndexPath:indexPath animated:NO]; 
Смежные вопросы