我有以下UITapGestureRecognizer设置,但该方法没有被调用?
注意:它UITapGestureRecognizer被添加到子视图项.
此外,它在添加内部UIGestureRecognizerDelegate时SUStepView也有效 - 唯一的问题是我需要在容器中使用它.
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)
}
}
Run Code Online (Sandbox Code Playgroud)
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
}
Run Code Online (Sandbox Code Playgroud)
Kir*_*odi 24
Swift 4代码:
TapGesture:
tapGesture = UITapGestureRecognizer(target: self, action: #selector(ViewController.myviewTapped(_:)))
tapGesture.numberOfTapsRequired = 1
tapGesture.numberOfTouchesRequired = 1
Run Code Online (Sandbox Code Playgroud)
ImageView Tap:
self.imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width/2.0, height: self.view.frame.size.height/2.0))
self.imageView.isUserInteractionEnabled = true
self.imageView.backgroundColor = UIColor.red
self.imageView.layer.masksToBounds = true
self.imageView.layer.cornerRadius = self.imageView.frame.size.width / 2
self.imageView.clipsToBounds = true
self.imageView.isUserInteractionEnabled = true
self.imageView.addGestureRecognizer(tapGesture)
self.view.addSubview(self.imageView)
Run Code Online (Sandbox Code Playgroud)
呼叫点击
@objc func myviewTapped(_ sender: UITapGestureRecognizer) {
if self.imageView.backgroundColor == UIColor.yellow {
self.imageView.backgroundColor = UIColor.green
}else{
self.imageView.backgroundColor = UIColor.yellow
}
}
Run Code Online (Sandbox Code Playgroud)
Dix*_*ari 12
试试这个.
let mytapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(myTapAction))
mytapGestureRecognizer.numberOfTapsRequired = 1
self.imageView.addGestureRecognizer(mytapGestureRecognizer)
Run Code Online (Sandbox Code Playgroud)
方法.
@objc func myTapAction(recognizer: UITapGestureRecognizer) {
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23234 次 |
| 最近记录: |