如何在不点击按钮的情况下调用UIButton动作方法?

时间:2018-07-25 11:21:02

标签: ios swift

// 功能方法

func TappedButtonCallFunction()
{
  btnSaveFilterWorkLog(UIButton.init())
}

// 按钮操作

@IBAction func btnSaveFilterWorkLog(_ sender: UIButton) {

    print("Button Tapped")
}

//轻按按钮

4 个答案:

答案 0 :(得分:1)

您还可以通过编程方式创建方法

例如:

select distinct t.ComponentId, t.TxId, t.AccountNo, t.BillNo, STUFF((select '|' + m.RevenueCode from t m where m.TxId = t.TxId FOR XML PATH ('')),1,1,'') as RevenueCode , STUFF((select '|' + m.Amount from t m where m.TxId = t.TxId FOR XML PATH ('')),1,1,'') as Amount from t

和方法选择器:

button.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside)

别忘了放@objc func buttonAction() { print("some") }

答案 1 :(得分:1)

正确的方法是使用UIControl类中的sendAction方法。

  

当您希望控件执行与指定事件关联的操作时,请调用此方法。

在我们的情况下:

button.sendActions(for: .touchUpOutside)

答案 2 :(得分:0)

只需将放在 uibutton 对象后面的函数声明中即可。现在您可以在参数中传递nil值,但是请确保您没有在任何地方使用sender 不用担心您的按钮点击事件不会发生,它会正常工作

//呼叫

  btnSaveFilterWorkLog(nil)

//按钮动作

@IBAction func btnSaveFilterWorkLog(_ sender: UIButton?) {

    print("Button Tapped")
}

答案 3 :(得分:0)

import UIKit

class ActionSheetViewController: UIViewController {
    @IBOutlet weak var closeButton: UIButton!

    override func viewDidLoad() {
        super.viewDidLoad()
      
        closeButton.addTarget(self, action: #selector(dismissActionSheet), for: .touchUpInside)
    }

    @objc func dismissActionSheet() {
        // some code goes here ie:
        dismiss(animated: true, completion: nil)
    }
}

以上在 Swift5 中完美运行。