好傢伙,我需要一些幫助。採用了滑蓋在Xcode中創建一個倒計時觀看
我試着去創造一個倒計時錶,可以計算從小時,分鐘再予和秒後放下。現在我只是在能夠創造秒倒計時,但我希望應用程序能夠更新秒,分鐘和小時,當我「幻燈片」與滑塊。我發現很難正確更新標籤並在應用程序中添加「小時和分鐘」。有人可以幫助我找出邏輯。
這是到目前爲止,我寫的代碼,它工作正常只能用秒..我還添加了音頻文件,該文件會打到底,你可以在代碼中看到。
class ViewController: UIViewController {
var secondsCount = 30;
var timer = Timer()
var audioPlayer = AVAudioPlayer()
@IBOutlet weak var label: UILabel!
@IBOutlet weak var labelmin: UILabel!
// Slideren som slider tid for sal 1
@IBOutlet weak var sliderOutlet: UISlider!
@IBAction func slider(_ sender: UISlider)
{
//Live changes the numbers
secondsCount = Int(sender.value)
label.text = String(secondsCount) + " Seconds"
}
//Start button
@IBOutlet weak var startOutlet: UIButton!
@IBAction func start(_ sender: Any)
{
//Nederstående kode aktiverer funktionen counter()
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(ViewController.counter), userInfo: nil, repeats: true)
sliderOutlet.isHidden = true
startOutlet.isHidden = true
}
//Counter function
func counter() {
secondsCount -= 1
label.text = String(secondsCount) + " Seconds"
if (secondsCount == 0)
{
timer.invalidate()
audioPlayer.play()
}
}
//Stop button
@IBOutlet weak var stopOutlet: UIButton!
@IBAction func stop(_ sender: Any)
{
timer.invalidate()
secondsCount = 30
sliderOutlet.setValue(30, animated: true)
label.text = "30 Seconds"
audioPlayer.stop()
sliderOutlet.isHidden = false
startOutlet.isHidden = false
}
// viewDidLoad
override func viewDidLoad()
{
super.viewDidLoad()
do
{
let audioPath = Bundle.main.path(forResource: "1", ofType: ".mp3")
try audioPlayer = AVAudioPlayer(contentsOf: URL(fileURLWithPath: audioPath!))
}
catch
{
//ERROR
}
}
您滑塊的最小值和最大值是什麼?起始價值是多少?而且,當滑塊值改變時你想要發生什麼? – DonMag
也許更好的問題:你想以什麼格式顯示「倒計時時間」? 「2時34分21秒」?或「2小時34分21秒」?或者是其他東西? – DonMag
我想它是在「2小時34分21秒。」格式倒計時手錶只需要2個小時下來算...不...那是因爲它是爲特定目的。 –