如何在viewDidLoad中为UIButton调用扩展

时间:2019-05-14 02:38:08

标签: swift invoke ibaction viewdidload

我仍然对Swift和程序设计还是陌生的。我目前停留在如何在viewDidLoad中的按钮自触发(调用)上进行扩展。当我点击按钮时,我的代码可以工作,但是我希望自己执行而无需点击viewDidLoad

@IBOutlet weak var blinkButton: UIButton!



// Yellow Colour Error: All paths through this function will call itself

@IBAction func blinkButtonTapped(_ sender: UIButton) {
       blinkButtonTapped(blinkButton)
    }



// Yellow Colour Error: All paths through this function will call itself

extension UIButton {

    func blinkButton(_ sender: AnyObject?) {
        self.blinkButton( nil )
        let flash = CABasicAnimation(keyPath: "opacity")
        flash.duration = 0.5
        flash.fromValue = 1
        flash.toValue = 0.1
        flash.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeInEaseOut)
        flash.autoreverses = true
        flash.repeatCount = 100000000

        layer.add(flash, forKey: nil)


    }

我想在blinkButton中调用ViewDidLoad函数。

1 个答案:

答案 0 :(得分:0)

您需要将值传递为getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE); ,因为参数具有可选类型,或者您可以传递任何对象类型。

nil

您需要在override func viewDidLoad() { super.viewDidLoad() blinkButton(nil) } 的{​​{1}}中删除,这被称为两次。