2017-08-16 33 views
1

所以即時通訊與分秒和滑塊倒數手錶來改變它的價值。我想讓我的分鐘加1如果秒== 60.但它不會工作。請幫忙。爲什麼我的分鐘不會改變,如果秒== 60

import UIKit 

class ViewController: UIViewController { 

var seconds = 59 
var minute = 0 

@IBOutlet weak var label: UILabel! 

@IBOutlet weak var sliderOutlet: UISlider! 
@IBAction func slider(sender: UISlider) { 

    seconds = Int(sender.value) 

    minute = Int(sender.value) 


    if seconds == 60 { 

     minute = minute + 1 
     seconds = 0 

    } 



    label.text = String(minute) + " Minute :" + String(seconds) + " Seconds" 

} 
+0

滑塊有最小值還是最大值? – Jaydeep

+2

分鐘和秒鐘都由相同的滑塊設置。 – dasblinkenlight

+0

最小值是5,最大值是1800(這是30分鐘),當前值設置爲59. –

回答

0

從代碼,你給我的猜測是,這條線是多餘的:

minute = Int(sender.value) 

考慮將其刪除。

順便說一句,究竟什麼不行?目前的行爲是什麼?

+0

'label.text = String(minute)+」分鐘:「+ String(秒)+」秒「如此放置:1800分鐘:1800秒。順便說一句,最小值是5,最大值是1800(這是30分鐘),當前值設置爲59. –

+0

考慮刪除'minute = Int(sender.value)'cuz因爲某些原因您將分鐘設置爲分鐘 –

0

只是改變你的邏輯爲:

@IBAction func slider(sender: UISlider) { 

    seconds = Int(sender.value) 

    minute = seconds/60 

    label.text = String(minute) + " Minute :" + String(seconds-(minute*60)) + " Seconds" 

} 
1

只是刪除改變數秒至數分鐘的邏輯和使用此代碼 -

var dateFormatter = DateComponentsFormatter() 
dateFormatter.allowedUnits = ([.minute, .second]) 
dateFormatter.unitsStyle = .full 
label1.text = dateFormatter.string(from: 105) 

輸出 -

1分鐘,45秒

0

試試這個

@IBAction func slider(sender: UISlider) { 

let currentSec = Int(sender.value) 
minute = currentSec/60 
seconds = currentSec%60 

label.text = String(minute) + " Minute :" + String(seconds) + " Seconds" 

} 
相關問題