【问题标题】:Take current Countdown Timer value获取当前倒数计时器值
【发布时间】:2014-04-15 05:52:45
【问题描述】:

我在倒数计时器模式下使用 UIDatePicker。我想以秒为单位获取 uidatepicker 上的当前设置时间并将其放入整数值中?这是怎么做到的?

【问题讨论】:

  • 这里描述了这个问题的答案:stackoverflow.com/questions/10999575/…
  • 是的,这对我不起作用,因为那是在填充该选择器视图的数组中检索值。我正在使用 uidatepicker

标签: ios uidatepicker


【解决方案1】:

UIDatePicker 有一个名为countDownDuration 的属性,所以你应该可以使用

int seconds = (int)datePicker.countDownDuration;

编辑:为了解决评论中的问题,请确保手动设置 countDownDuration 或 datePicker 的时间以获得“整分钟”值。例如,在viewDidLoad 中,您可以设置:

datePicker.countDownDuration = 60.0f;

然后倒计时中默认选择的持续时间将恰好是 0 小时 1 分钟。否则,默认情况下,日期选择器将使用当前日期/时间,设置倒数计时器可能会导致 countDownDuration 最多 +59 秒(例如,1 分钟可以在 60-119 的任何时间准备好,2 分钟从 120-179,等)基于您运行应用的时间。

【讨论】:

  • 哎呀不知道我是如何在课堂参考中错过的,谢谢很好的回答。最后一个问题,尽管它如何返回正确的金额 + 5。所以一分钟返回 65。2 分钟返回 125。1 小时返回 3605。等等
  • 我知道我可以轻松地减去 5 秒,只是奇数,我想知道原因。我的代码正是你在答案中的样子
  • 您必须在选择器中手动设置初始时间或 countDownDuration 值。如果将其保留为默认值,它会将其设置为当前时间(无论何时运行测试,它都必须超过当前分钟 5 秒)。如果您希望默认选择的倒计时值为 1 分钟,您可以在 viewDidLoad 或类似方法中设置 datePicker.countDownDuration = 60
  • 正确。如果您将其设置为 3660,它将以 1 小时 1 分钟加载您的倒计时选择器。如果将其设置为部分分钟,它将向下舍入,因此如果将其设置为 3659,则选择器将显示 1 小时 0 分钟。您可以设置的最大值为 86399(23 小时 59 分 59 秒),它将显示为 23 小时 59 分。
  • 就像你说的,和帖子的详细信息一样,当视图加载时(或者你想设置它的时候),你将 countDownDuration 属性设置为 ((hours * 3600) + (minutes * 60)) .因此,如果在视图加载时,您希望倒数计时器自动设置为 1 小时 7 分钟,在 viewDidLoad 中设置 datePicker.countDownDuration = 4020;((1 * 3600) + (7 * 60))(4020 秒)
猜你喜欢
  • 1970-01-01
  • 2017-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-29
相关资源
最近更新 更多