在 Swift 中使用 UIGestureRecognizer 处理自定义 class

Handling a custom class using UIGestureRecognizer in Swift

我创建了一个自定义 class 作为 UIImageView 的子class。我正在尝试为这个 class 的实例创建一个附加到 UIPanGestureRecognizer 的动作(该对象称为令牌。

let recognizer = UIPanGestureRecognizer(target: self, action:"handleTokenDrag:test")
token.addGestureRecognizer(recognizer)

在处理程序函数 (handleTokenDrag) 中,我可以访问与此对象关联的视图,但不能访问对象本身。如何访问对象以便调用其方法并修改其属性?

func handleTokenDrag(recognizer:UIPanGestureRecognizer){...}

在 handleTokenDrag 上,您可以通过这样做直接从识别器获取视图

func handleTokenDrag(recognizer:UIPanGestureRecognizer){
    if let myView = recognizer.view as? MyCustomImageView{

        myView.customProperty = someValue
    }
}