改变Stepper值作为时间值?

时间:2016-11-10 16:30:26

标签: swift uistepper

我想让我的步进器用于向计时器添加分钟。步进器默认输出+或 - 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)
}

2 个答案:

答案 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'。我们使用这个格式说明符两次,并在它们之间放置一个冒号。然后传入第一个和第二个格式说明符的整数值。