2017-01-29 3 views
-1

Название может быть немного запутанным, но есть ли способ, которым я могу Получить этот код, чтобы выполнить момент, когда я касаюсь uiview?UITapGestureRecognizer активируется при непосредственном касании?

entry.transform = CGAffineTransform(scaleX: 0.975, y: 0.975) 
    speech.transform = CGAffineTransform(scaleX: 0.975, y: 0.975) 

У меня есть UIView, который я хочу имитировать нажатием кнопки. В настоящее время, как он у меня установлен, он срабатывает только один раз мой палец покинул экран

func voiceTap(sender: UITapGestureRecognizer? = nil) { 
    entry.transform = CGAffineTransform(scaleX: 0.975, y: 0.975) 
    speech.transform = CGAffineTransform(scaleX: 0.975, y: 0.975) 
    UIView.animate(withDuration: 0.2, delay: 0, options: UIViewAnimationOptions.curveLinear, animations: { 
     self.entry.transform = CGAffineTransform.identity 
     self.speech.transform = CGAffineTransform(scaleX: 0.975, y: 0.975) 
    }, completion: nil) 
} 

Как я получить код за пределами блока анимации, чтобы вызвать тот момент мой палец прикасается к UIView?

+0

Кран является кран. Измените его на UIGestureRecognizer и измените его состояние и измените его, обновите все, что вам нужно. –

+0

Возможный дубликат [iOS Detect tap down и коснуться UIView] (http://stackoverflow.com/questions/19611601/ios-detect-tap -down-and-touch-up-a-uiview) – KSigWyatt

+0

Вы также можете отключить 'delayaysContentTouchesInView', если обнаружите, что есть задержка. Это происходит для вещей, таких как контент в списках прокрутки. – brandonscript

ответ

0

Вам необходимо реализовать методы (touchhesBegan: withEvent: и т. Д.), Чтобы обнаружить полученное касание в вашем UIViewController и проверить, соответствует ли касание UIView вашей заинтересованности. И оттуда вы можете вызвать действие.

Check this thread how to implement the methods

Or this one