У меня есть кнопка в представлении подпредставления (для разговора подпредставление является красным квадратом), что когда пользователь удерживает нажатой кнопку, красный квадрат анимирует полупрозрачный.
У меня есть кнопка, связанная с этим методом:
-(IBAction)peekToggle:(id)sendr{
NSLog(@"TOGGLE");
if(self.view.alpha ==1)self.view.alpha = 0.1;
else self.view.alpha = 1;
}
Через поведение: touch up inside
, touch up outside
и touch down
. поэтому, когда я удерживаю кнопку нажатой, красное поле становится полупрозрачным, а когда я отпускаю палец, оно становится непрозрачным.
Первоначально это работает нормально, однако, если я удерживаю кнопку нажатой более 1 секунды, кнопка не регистрирует touch up
(отпускание пальца).
NB. У меня действительно есть longPressGestureRecogniser в родительском представлении (родительский элемент подпредставления не родительский для Button), но он не запускается (ожидается).
Я уверен, что мое долгое нажатие на кнопку было зарегистрировано как touch cancel
, а затем аннулировало событие касания.
Как я могу предотвратить / обойти это?
Могу ли я остановить стрельбу touch Cancel
? (это событие срабатывает, даже если я зарегистрировал состояние управления) или в событии touch Cancel
скажите кнопке сохранить / начать регистрировать события?