1

Я пытаюсь получить Swift 2 (XCode 7), чтобы распознать двойной щелчок на подзоне, которая должна перейти в полноэкранный режим после двойного касания.Распознавание с двойным нажатием только в подсмотре (не основной)

Я использовал код ниже, где subView - это представление, которое я перетащил на основной вид.

Этот код изначально просто печатает «Tap» на консоль для проверки.

Однако везде, где на экране я дважды касаюсь, я получаю результат. Распознавание крана не просто ограничивается подзадачей, как предполагалось.

Может ли кто-нибудь пролить свет?

@IBOutlet var subView: UIView! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.initializeGestureRecognizer() 

} 

func initializeGestureRecognizer() { 

    let tapGesture: UITapGestureRecognizer = UITapGestureRecognizer(target:self, action: Selector("recognizeTapGesture:")) 

    tapGesture.numberOfTapsRequired = 2 

    subView.addGestureRecognizer(tapGesture) 

} 

func recognizeTapGesture(sender:UITapGestureRecognizer) { 

    print("Tap") 

} 
+0

Вы добавили self.view.addSubview (tsubView)? – user3182143

+0

Спасибо за это. Это действительно помогло. –

ответ

1

Кристиан Ettelt во всяком случае, если я дать вам правильный ответ, это очень полезно для других.

func initializeGestureRecognizer() 
{ 

    let tapGesture: UITapGestureRecognizer = UITapGestureRecognizer(target:self, action: Selector("recognizeTapGesture:")) 

    tapGesture.numberOfTapsRequired = 2 

    subView.addGestureRecognizer(tapGesture) 

    self.view.addSubview(subView) 

} 

Пожалуйста, отметьте и подтвердите свой ответ.

0

Попробуйте это,

func recognizeTapGesture(sender:UITapGestureRecognizer) { 
    if sender.view == subView { 
     print("Tap") 
    } 
}