我有以下UITapGestureRecognizer
设置,但该方法未被调用?Swift 4 - 将UITapGestureRecognizer添加到子视图图像 - 该方法未被调用
注意:UITapGestureRecognizer
被添加到子视图项。
此外,它在本身中添加UIGestureRecognizerDelegate
时起作用 - 唯一的问题是我在容器中需要它。
class StepViewContainer: NSObject, UIGestureRecognizerDelegate {
var view: SUStepView?
@objc func tapAction(recognizer: UITapGestureRecognizer) {
}
override init(){
super.init()
// View
self.view = Bundle.main.loadNibNamed("SignupV3Views", owner: self, options: nil)![0] as? SUStepView
let mytapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapAction))
mytapGestureRecognizer.numberOfTapsRequired = 1
self.view?.imageView.addGestureRecognizer(mytapGestureRecognizer)
}
}
在StepViewContainer的观点:
class SUStepView: UIView {
@IBOutlet weak var imageView: UIImageView!
@objc public func nextStepTap(sender: UITapGestureRecognizer) {
}
override func awakeFromNib() {
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(nextStepTap))
tapGestureRecognizer.numberOfTapsRequired = 1
self.imageView.addGestureRecognizer(tapGestureRecognizer)
self.imageView.isUserInteractionEnabled = true
self.imageView.layer.masksToBounds = true
self.imageView.layer.cornerRadius = self.imageView.frame.size.width/2
self.imageView.clipsToBounds = true
}
你为什么不直接使用''ImageView的,而不是'self.view?.imageView' –
我有一个处理不同事件的容器(个体经营)。 –
您是否在imageView上设置了userInteractionEnabled = true? – Eridana