Vin*_*nod 5 uitapgesturerecognizer swift swift2
我想在单击图像时将多个参数传递给函数.这是我的代码
var param1 = 120
var param2 = "hello"
var param3 = "world"
let image: UIImage = UIImage(named: "imageName")!
bgImage = UIImageView(image: image)
let singleTap = UITapGestureRecognizer(target: self, action:#selector(WelcomeViewController.tapDetected(_:secondParam:thirdParam:)))
singleTap.numberOfTapsRequired = 1
bgImage!.userInteractionEnabled = true
bgImage!.addGestureRecognizer(singleTap)
Run Code Online (Sandbox Code Playgroud)
调用功能
func tapDetected(firstParam: Int, secondParam: String, thirdParam: String) {
print("Single Tap on imageview")
print(firstParam) //print 120
print(secondParam) // print hello
print(thirdParam) /print world
}
Run Code Online (Sandbox Code Playgroud)
如何传递参数以便我能获得正确的值?
在 swift2 中,你不能在操作中传递参数。您可以只使用类属性:
var param1 = 120
var param2 = "hello"
var param3 = "world"
let image: UIImage = UIImage(named: "imageName")!
var bgImage: UIImageView?
override func viewDidLoad() {
super.viewDidLoad()
bgImage = UIImageView(image: image)
let singleTap = UITapGestureRecognizer(target: self, action: #selector(WelcomeViewController.tapDetected))
singleTap.numberOfTapsRequired = 1
bgImage!.userInteractionEnabled = true
bgImage!.addGestureRecognizer(singleTap)
}
Run Code Online (Sandbox Code Playgroud)
调用函数
func tapDetected() {
print("Single Tap on imageview")
print(param1) // print 120
print(param2) // print hello
print(param3) // print world
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10203 次 |
| 最近记录: |