UIButton не работает, когда один жест жеста добавляется в супервизор

У меня есть UIButton, настроенный и подключенный к действию в моем контроллере просмотра, как обычно. Просто это само по себе прекрасно работает.

Теперь я добавил следующее к моему контроллеру вида, чтобы настроить один кран:

- (void)viewDidLoad {
[super viewDidLoad];
UITapGestureRecognizer * singleTapGesture = [[UITapGestureRecognizer alloc] 
                                             initWithTarget:self
                                             action:@selector(handleSingleTap:)];
[self.view addGestureRecognizer:singleTapGesture];
[singleTapGesture release]; }

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

Как я могу сделать это так, чтобы кнопка работала, когда я нажимаю кнопку, а жест жеребца работает, когда я нажимаю в другом месте в представлении?

Ответ 2

Вот простое решение

singleTapGesture.cancelsTouchesInView = NO;

Ответ 3

Эндрю

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

так что я предлагаю создать пользовательскую кнопку размера экрана (320x460, предполагая, что серая полоса показана) помещают ее обратно из всех объектов в IB. К этому времени вы сможете увидеть UIButton с почти непрозрачностью 0%.

и из IB перетащите опцию выбора пользовательской кнопки владельцам файлов и выберите функцию, которую вы хотите вызвать, и все сделано.

Проще, чем вы пытались в своем коде