简体   繁体   English

Swift 4.2,UITapGestureRecognizer在scrollview中不起作用

[英]Swift 4.2, UITapGestureRecognizer not working in scrollview

UITapGestureRecognizer doesn't get trigged in my scrollview for some reason. UITapGestureRecognizer出于某种原因未在我的滚动视图中触发。 I've tried many solutions with no avail. 我尝试了许多无济于事的解决方案。

ScrollView: ScrollView:

let scrollView: UIScrollView = {

    let scroll = UIScrollView()

    scroll.translatesAutoresizingMaskIntoConstraints = false
    scroll.showsHorizontalScrollIndicator = false
    scroll.showsVerticalScrollIndicator = false

    return scroll
}()

View containing all views in scrollview (so 'view' is located in this view and not directly within the scrollview): 包含滚动视图中所有视图的视图(因此“视图”位于此视图中,而不是直接位于滚动视图中):

let contentView: UIView = {

    let view = UIView()

    view.translatesAutoresizingMaskIntoConstraints = false

    return view
}()

Gesture recognizer: 手势识别器:

let gesture = UITapGestureRecognizer(target: self, action:  #selector(self.viewTap))
            gesture.cancelsTouchesInView = false
            gesture.numberOfTapsRequired = 1
            view.addGestureRecognizer(gesture)

Action: 行动:

@objc func viewTap(sender : UITapGestureRecognizer) {
     // do stuff
}

View hierarchy ( https://imgur.com/a/wr3tge4 ): 视图层次结构( https://imgur.com/a/wr3tge4 ):

[scrollView]
   [contentView]
      [view] <- UITapGestureRecognizer here

Thanks a ton in advance! 在此先感谢一吨!

Change color of the view (with gesture) to something outstanding like red or yellow. 将视图的颜色(带有手势)更改为突出的颜色,例如红色或黄色。 Run your app, check first if you see your view and use "View UI Hierarchy" feature to see if your view is not actually blocked by anything 运行您的应用程序,首先检查您是否看到了视图,并使用“视图UI层次结构”功能来查看您的视图是否实际上没有被任何东西阻挡

在此处输入图片说明 在此处输入图片说明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM