gpt4 book ai didi

swift - 在按钮操作下声明的函数不起作用

转载 作者:行者123 更新时间:2023-11-30 10:42:41 26 4
gpt4 key购买 nike

我正在制作一个应用程序,当您按下按钮时,我需要运行一些功能。我还没有任何错误,当你按下按钮时什么也没有发生

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()
}

@IBOutlet var Background: UIView!
@IBOutlet weak var RedOverlay: UIView!
@IBOutlet weak var Text: UILabel!



var timer = Timer()
var seconds = 3
var timerRunning = false


@IBAction func screenPressed(_ sender: Any) {
func runTimer() {
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: (#selector(ViewController.updateTimer)), userInfo: nil, repeats: true)
timerRunning = true
}
}

@objc func updateTimer() {
seconds -= 1
Text.text = String(seconds)
if seconds < 2 {
timer.invalidate()
UILabel.animate(withDuration: 0.5, animations: {
self.Text.alpha = 0
})
backgroundChange()
}
}

func backgroundChange() {
let wait = Int.random(in: 1 ... 10)
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(wait), execute: {
self.Text.alpha = 1
self.Text.text = "Go"
self.RedOverlay.alpha = 1
})
}
}

我使用 Storyboard,因此该功能通过 socket 连接到按钮

最佳答案

您正在 IBAction 中定义您的函数。

移动你的

func Runtimer() { ... } 

在它的外部并从内部调用它:

@IBAction func screenPressed(_ sender: Any) {
runTimer()
}

关于swift - 在按钮操作下声明的函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56461068/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com