swift - 以编程方式添加 View 和手势 - "unrecognized selector sent to instance"

标签 swift swift3 uipangesturerecognizer unrecognized-selector

当我删除发件人时,我可以调用“handleTap”函数,但是一旦我添加 sender: UIPanGestureRecognizer 回来,我就得到这个错误:unrecognized selector发送到实例。我想不通!

class DrawingViewController: UIViewController, UIGestureRecognizerDelegate {

var newlyAddedSticker = UIImage() {
    didSet {
        makeNewSticker()
    }
}

func makeNewSticker() {
    let newSticker = UIImageView(image: newlyAddedSticker)
    view.addSubview(newSticker)

    let myPanGesture = UIPanGestureRecognizer(target: self, action: "handleTap:")
    myPanGesture.delegate = self
    newSticker.isUserInteractionEnabled = true
    newSticker.addGestureRecognizer(myPanGesture)
}

func handleTap(sender: UIPanGestureRecognizer) {
    print("hi")
}

}

最佳答案

问题是你没有指定选择器

 let myPanGesture = UIPanGestureRecognizer(target: self, action: #selector(YourViewController.handleTap))

func handleTap() {
    print("hi")
}

希望对你有帮助

关于swift - 以编程方式添加 View 和手势 - "unrecognized selector sent to instance",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39681296/

相关文章:

ios - 如何在 swift 4 中添加虚折线?

ios - 平移手势无法正常工作

ios - 将图像从 ScrollView 拖到 UIView 中

ios - 在 Swift 中捕获列表

ios - 为 Swift 中的 Segue 做准备

ios - 在 JWPlayer For iOS 上双击禁用全屏

ios - 没有 "Index out of Range"swift 的实时重新加载 UITableview

node.js - 使用 socket.io 和 Swift 3 等待消息

swift - UIViewPropertyAnimator的弹跳效果

objective-c - 自动生成的 Swift.h 文件一直找不到