我仍然对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
函数。
答案 0 :(得分:0)
您需要将值传递为getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
,因为参数具有可选类型,或者您可以传递任何对象类型。
nil
您需要在override func viewDidLoad() {
super.viewDidLoad()
blinkButton(nil)
}
的{{1}}中删除,这被称为两次。