ios - UITapGestureRecognizer 不适用于 Swift 3.0

标签 ios swift uiimageview swift3 uitapgesturerecognizer

这可能看起来真的很简单,但我已经纠结了一段时间,想知道为什么这不起作用。我试图在点击时更改图像,但它似乎根本无法识别点击。我在 Storyboard上和以编程方式启用了用户交互,所以有点迷茫。

override func viewDidLoad() {
    super.viewDidLoad()

    tL.isUserInteractionEnabled = true

    x = UIImage(named: "Cross.jpg")
    reset = UIImage(named: "white.png")

    //Tap Gesture ------------------------------------------------------------

    let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(Logic))
    gestureRecognizer.numberOfTapsRequired = 1

    tL.addGestureRecognizer(gestureRecognizer)
}

func Logic(_ sender: UITapGestureRecognizer) {
    let tappedView = sender.view as! UIImageView
    tappedView.image = x
    print("Image Tapped")
}

最佳答案

fun 逻辑需要 1 个参数,您应该在选择器中提供。变化自

let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(Logic))

let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(yourClassName.Logic(_ : )))

关于ios - UITapGestureRecognizer 不适用于 Swift 3.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41170911/

相关文章:

ios - 自定义 UITextField 委托(delegate)设置为自启动无限循环

ios - Swift:如果用户接受或拒绝通知则采取行动

ios - 如何在iOS中的动画图像上放置按钮?

ios - 我需要在 objective-c 中创建一个 3D 旋转框

ios - GVRSDK 与 GVRKit。什么时候将每一个用于 3D VR 视频?

ios - 为什么不向客户收费?

ios - 如何确保 iOS 本地通知在*应用程序终止后*得到传递

ios - 图像未显示在 ImageView 中

ios - UIImageView 在 UIView 中的位置完全错误

objective-c - 具有特定控制的 NSTimer 秒表