我是 Swift 3 的新手。目前,我有一个 UIBarButtonItem。如何让这个按钮 Action 只有在多次按下时才会触发?例如,只有当用户按下此按钮两次时,才会出现 ViewController。
最佳答案
为 UIBarButtonItem
创建自定义 View 并为自定义 View 添加 UITapGestureRecognizer
并将 numberOfTapsRequired
属性值设置为 2
示例代码:
class viewController: UIViewController {
var doubleTapGesture: UITapGestureRecognizer!
var barButton: UIBarButtonItem!
var button: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
button = UIButton(type: .custom)
button.setTitle("title", for: .normal)
button.frame = CGRect(x: 0, y: 0, width: 64, height: 30)
doubleTapGesture = UITapGestureRecognizer(target: self, action: #selector(viewController.buttonClicked))
doubleTapGesture.numberOfTapsRequired = 2
button.addGestureRecognizer(doubleTapGesture)
barButton = UIBarButtonItem(customView: button);
navigationItem.rightBarButtonItem = barButton
}
func buttonClicked() {
// Method for UITapGestureRecognizer
}
}
关于ios - 如何只在多次按下时才触发按钮 Action ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45235097/