У меня есть свой ViewController, соответствующий UIGestureRecognizerDelegate.Я могу добавить UITapGestureRecognizer к своим контроллерам self.view, но не к любым пользовательским представлениям. Зачем?
У меня есть разные виды, созданные в этом ViewController. Пользовательский вид, называемый circleView, и обычный UIView, называемый testView.
У меня есть следующая функция, которая вызывается из viewDidLoad
func addTapGesturesOnNumberPadDisplay() {
if tapGestureRecognizerNumberPadView == nil {
tapGestureRecognizerNumberPadView = UITapGestureRecognizer(target: self, action: "handleTap:")
tapGestureRecognizerNumberPadView!.delegate = self
//self.circleView!.addGestureRecognizer(tapGestureRecognizerNumberPadView!) // 1
//self.testView!.addGestureRecognizer(tapGestureRecognizerNumberPadView!) // 2
self.view.addGestureRecognizer(tapGestureRecognizerNumberPadView!) // 3
}
}
Этот код работает, с линией 3 активной. Мой func handleTap(sender: UITapGestureRecognizer) {
запускается. Но если я прокомментирую строку 3 и сделаю строчку 1 или 2 активной ... handleTap:
никогда не попадает.
Почему это?
спасибо, это была неделя с тех пор, как я работал над этим, и я забыл, что у меня есть drawView, накладывающийся на все, чтобы нарисовать «пальцевые задние линии». Таким образом, drawView не позволял распознать какие-либо из моих кранов. Можете ли вы добавить один и тот же жестовRezognizer к нескольким представлениям? что, похоже, не работает. –
@chrisP Удостоверяются, что вы никогда не подвергаетесь этой ошибке. Рад помочь :) –