首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否更改Stepper值以用作时间值?

是否更改Stepper值以用作时间值?
EN

Stack Overflow用户
提问于 2016-11-11 00:30:26
回答 2查看 173关注 0票数 0

我想用我的步进器给计时器增加分钟数。默认情况下,步进器输出+或-1,然后我使用*60表示一分钟,但这使我的计时器显示计时器中的总秒数而不是分钟数。例如,按它两次读取的时间是120而不是02:00,我该如何转换它?

代码语言:javascript
复制
@IBAction func restStepperValueChanged(_ sender: UIStepper) {
    numberOfRestLabel.text = Int(sender.value).description
    restCount = Int(sender.value)*60
    restRemainingCountdownLabel.text = String(restCount)
}
EN

回答 2

Stack Overflow用户

发布于 2016-11-11 00:41:07

这?

代码语言:javascript
复制
let seconds = restCount % 60
let minutes = (restCount / 60) % 60
let result = "\(minutes):\(seconds)"
print(result)
票数 0
EN

Stack Overflow用户

发布于 2016-11-11 00:43:31

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40532552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档