在不按下按钮的情况下调用@IBAction 函数
Call @IBAction function without pressing the button
如何使用原始 sender
从 calc()
调用 button1()
func(就像我点击此按钮一样)?使用 nil
调用 func 是不好的解决方案,因为原始发件人丢失了,我无法通过 sender?.image = UIImage(named: "")
.
更改按钮图像
其他主题中的所有答案都提供使用button.sendActions(for: .touchUpInside)
。但是这个解决方案不起作用。
var var1 = true
var var2 = 1
@IBAction func button1(_ sender: UIBarButtonItem?) {
if var2 == 1 {
sender?.image = UIImage(named: "1")
} else {
sender?.image = UIImage(named: "2")
}
}
func calc() {
if var1 {
button1(nil)
}
}
可以打电话self.perform(Selector, with: self)
制作按钮的出口并将参考作为发件人传递
@IBOutlet var outletButton: UIButton!
func calc() {
if var1 {
button1(outletButton)
}
}
var var1 = true
var var2 = 1
@IBAction func button1(_ sender: UIBarButtonItem?) {
button1Action()
}
func button1Action() {
if var2 == 1 {
sender?.image = UIImage(named: "1")
} else {
sender?.image = UIImage(named: "2")
}
}
func calc() {
if var1 {
button1Action()
}
}
如何使用原始 sender
从 calc()
调用 button1()
func(就像我点击此按钮一样)?使用 nil
调用 func 是不好的解决方案,因为原始发件人丢失了,我无法通过 sender?.image = UIImage(named: "")
.
其他主题中的所有答案都提供使用button.sendActions(for: .touchUpInside)
。但是这个解决方案不起作用。
var var1 = true
var var2 = 1
@IBAction func button1(_ sender: UIBarButtonItem?) {
if var2 == 1 {
sender?.image = UIImage(named: "1")
} else {
sender?.image = UIImage(named: "2")
}
}
func calc() {
if var1 {
button1(nil)
}
}
可以打电话self.perform(Selector, with: self)
制作按钮的出口并将参考作为发件人传递
@IBOutlet var outletButton: UIButton!
func calc() {
if var1 {
button1(outletButton)
}
}
var var1 = true
var var2 = 1
@IBAction func button1(_ sender: UIBarButtonItem?) {
button1Action()
}
func button1Action() {
if var2 == 1 {
sender?.image = UIImage(named: "1")
} else {
sender?.image = UIImage(named: "2")
}
}
func calc() {
if var1 {
button1Action()
}
}