Sev*_*ian 2 uibutton uitapgesturerecognizer uilongpressgesturerecogni xcode7 swift2
我的UI上有多个按钮,我想根据不同的点击类型执行不同的功能,
对于我来说,只需轻按一下即可完成操作,这是一个IBAction,所有四个按钮均已连接到IBAction,但对于其他类型的点击,我却无法控制
我了解我需要使用点击手势识别器,但是无法将其设置为多个UIButton,
这是我想做的事的例子
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var Label: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func ButtonSingleTap(sender:UIButton!) {
let ButtonNumber: String = String(sender.tag)
Label.text = "Button " + ButtonNumber + " is Single Tapped"
}
func ButtonDoubleTap(sender:UIButton!) {
let ButtonNumber: String = String(sender.tag)
Label.text = "Button " + ButtonNumber + " is Double Tapped"
}
func ButtonLongTap(sender:UIButton!) {
let ButtonNumber: String = String(sender.tag)
Label.text = "Button " + ButtonNumber + " is Long Pressed"
}
}
Run Code Online (Sandbox Code Playgroud)

您不能将的一个实例UIGestureRecognizer用于多个按钮。每个按钮都需要有自己的手势识别器集。
这是一个示例,向您展示如何做:
for button in [button1, button2, button3, button4] {
let longPressRecognizer = UILongPressGestureRecognizer(target: self, action: Selector("didLongPress:"))
let doubleTapRecognizer = UITapGestureRecognizer(target: self, action: Selector("didDoubleTap:"))
doubleTapRecognizer.numberOfTapsRequired = 2
button.addGestureRecognizer(longPressRecognizer)
button.addGestureRecognizer(doubleTapRecognizer)
}
func didLongPress(recognizer: UILongPressGestureRecognizer) {
guard let button = recognizer.view as? UIButton else { return }
switch recognizer.state {
case .Began:
print("long press began button \(button.tag)")
case .Ended:
print("long press ended button \(button.tag)")
default:
break
}
}
func didDoubleTap(recognizer: UITapGestureRecognizer) {
guard let button = recognizer.view as? UIButton else { return }
print("double tap button \(button.tag)")
}
Run Code Online (Sandbox Code Playgroud)
对于这个工作,你必须添加奥特莱斯为您的按钮(button1,button2,button3,button4)。
| 归档时间: |
|
| 查看次数: |
818 次 |
| 最近记录: |