2012-02-29 3 views
16

У меня есть UITableView, который рисует subView, когда пользователь касается ячейки.отключить взаимодействие касания в UITableView

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

Я попытался с помощью этого:

- (void) tableView: (UITableView*) tableView didSelectRowAtIndexPath: (NSIndexPath*) indexPath { 

    [[UIApplication sharedApplication] beginIgnoringInteractionEvents]; 

, а также переменную BOOL:

if (isAnimating == NO) { 

но ни похоже на работу. В каждом случае быстрые прикосновения прикручивают все.

Любая помощь была бы большой!

ответ

36

Попробуйте это ... После нажатия на ячейку установить

tableView.userInteractionEnabled = NO; 
+4

.userInteractionEnabled = FALSE; Работает! – itgiawa

+8

Используйте NO вместо BOOLs в Objective-C, не используйте False или FALSE – Edgar

+0

Хорошо, не могли бы вы рассказать мне о различии от NO до FALSE? –

2

Я знаю, что это старый вопрос, однако ему не хватало быстрого версии так, в Swift 3 это:

tableView.isUserInteractionEnabled = false; 

и превратить его обратно в:

tableView.isUserInteractionEnabled = true; 

Просто подумал, что это м помогите кому-нибудь, если они ищут ответ в быстрой 3, как я, и заканчивается здесь.

Смежные вопросы