我想让我的步进器用于向计时器添加分钟。步进器默认输出+或 - 1,然后使用* 60使其成为一分钟,但这使我的计时器显示计时器中的总秒数而不是分钟。例如按下它两次读取120而不是02:00,我该如何转换?
@IBAction func restStepperValueChanged(_ sender: UIStepper) {
numberOfRestLabel.text = Int(sender.value).description
restCount = Int(sender.value)*60
restRemainingCountdownLabel.text = String(restCount)
}
答案 0 :(得分:0)
此?
chain
答案 1 :(得分:0)
restCount
包含在此处设置的秒数:
restCount = Int(sender.value)*60
例如:
如果sender.value = 1则Int(1)* 60 == 1 * 60 == 60
如果sender.value = 2则Int(2)* 60 == 2 * 60 == 120
这意味着此行设置的是秒数,而不是分钟数:
restRemainingCountdownLabel.text = String(restCount)
要以02:00
的格式获取时间,您需要使用格式说明符手动构造字符串:
String(format: "%02d:%02d", minutesValue, secondsValue)
解释:
String(format:)
根据给定的格式字符串构造一个字符串。这里的格式字符串是"%02d:%02d"
。 %d
是整数值的格式说明符,将其修改为%02d
指定两个数字,可选前导零。例如' 01'或者' 12'。我们使用这个格式说明符两次,并在它们之间放置一个冒号。然后传入第一个和第二个格式说明符的整数值。