简体   繁体   English

Swift - 如何在 UIStackview 上设置点击事件

[英]Swift - How to set a click event on a UIStackview

I am trying to set a click event on my UIStackview to open a viewcontroller.我想在我的 UIStackview 上设置一个点击事件来打开一个视图控制器。 When I do this nothing happens.当我这样做时,什么也没有发生。 It doesn't even print the line when I tap it.当我点击它时,它甚至不会打印线。 I tried multiple solutions on this website, like UITapGestureRecognizer but to no avail.我在这个网站上尝试了多种解决方案,比如 UITapGestureRecognizer 但无济于事。 What am I doing wrong?我究竟做错了什么?

My code:我的代码:

private let stackUIView: UIView = {
     let stackUIView = UIView(frame: CGRect(x: 25, y: 25, width: 400, height: 90))
    let tap = UIGestureRecognizer(target: self, action: #selector(stackviewClicked))
    stackUIView.addGestureRecognizer(tap)
    stackUIView.isUserInteractionEnabled = true
    
    return stackUIView
}()


@objc
    func stackviewClicked() {
        print("UIView Clicked")
        let testVC = testViewController()
        navigationController?.pushViewController(testVC, animated: true)

    }

It should be UITapGestureRecognizer not UIGestureRecognizer它应该是UITapGestureRecognizer而不是UIGestureRecognizer

let tap = UITapGestureRecognizer(target: self, action: #selector(stackviewClicked))

For me works, thanks对我有用,谢谢

termsAndConditionsStack.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(stackviewClicked)))

@objc func stackviewClicked() {
     print("works")
}

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

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