UI在循环中被阻止

时间:2017-01-12 05:11:08

标签: swift multithreading loops uibutton

所以我有这个问题,我需要停止使用UIButton发生循环。这个问题是while循环似乎阻止了UIButton被按下。根据我所研究的内容,你需要使用一个与UIButton正在更新的线程不同的线程,但是,尽管我已经尝试过,但我没有成功。以下是被阻止的while循环,我将不胜感激任何帮助解决问题。谢谢。

timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(ViewController.counter), userInfo: nil, repeats: true)

func counter() {

seconds -= 1;
label.text = String(seconds) + " Seconds"

if(seconds == 0) {

timer.invalidate()
audioPlayer.play()

while(UIScreen.main.brightness <= CGFloat(0.5)) {

UIScreen.main.brightness += 0.01;

  }
 }
}

包含UIButton的函数

@IBAction func stop(_ sender: Any) {
timer.invalidate()
seconds = 30

sliderOutlet.setValue(30, animated: true)
label.text = "30 Seconds"

sliderOutlet.isHidden = false
startOutlet.isHidden = false

audioPlayer.stop()}

0 个答案:

没有答案