微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用UISlider减少包含当前时间的变量的值

如何解决使用UISlider减少包含当前时间的变量的值

在滚动滑块时,我不知道如何更改当前时间值(由dateFormatter变量返回)。 我试图将dateFormatter变量转换为double,但是没有成功。

library(dplyr)
library(tidyr)
df %>%
    group_by(cus_no) %>%
    fill(rate,.direction = "down") %>%
    ungroup()
# A tibble: 20 x 4
   customer Month tenor  rate
      <dbl> <dbl> <dbl> <dbl>
 1        1     1     5   0.2
 2        1     2     5   0.3
 3        1     3     5   0.4
 4        1     4     5   0.5
 5        1     5     5   0.6
 6        1     6     5   0.6
 7        1     7     5   0.6
 8        1     8     5   0.6
 9        1     9     5   0.6
10        1    10     5   0.6
11        2     1     3   0.1
12        2     2     3   0.2
13        2     3     3   0.3
14        2     4     3   0.3
15        2     5     3   0.3
16        2     6     3   0.3
17        2     7     3   0.3
18        2     8     3   0.3
19        2     9     3   0.3
20        2    10     3   0.3

我想将滑块的每次移动减小-1小时的时间值。 在移动滑块时,changeTime函数必须注意更改时间值。

var c: Double
c = Double(dateFormatter.string(from: Date())

解决方法

雨燕5

每当您更新日期时,从当前日期减少滑块专用的小时数,请尝试以下操作:

class ViewController: UIViewController
{
    @IBOutlet weak var simpleSlider: UISlider!
    @IBOutlet weak var dateLabel: UILabel!

    var timer = Timer()
    var currentSliderStep: Int = 0
    var dateFormatter = DateFormatter()

    override func viewDidLoad()
    {
       dateFormatter.timeStyle = .short
       labelTime.text = dateFormatter.string(from: Date())
       timer = Timer.scheduledTimer(timeInterval: 60,target: self,selector: #selector(updateTimeLabel),userInfo: nil,repeats: true);
    }

    @objc func updateTimeLabel() 
    {
       let newDate = Calendar.current.date(byAdding: .hour,value: -currentSliderStep,to: Date())!
       labelTime.text = dateFormatter.string(from: newDate)
    }

    @IBAction func sliderMoved(sender: AnyObject)
    {
        let value = simpleSlider.value
        let step: Float = 1
        let roundedValue = round(value / step) * step
        currentSliderStep = Int(roundedValue)
    }
}

注意:使用滑块,在调整“主要动作已触发”事件时将触发该事件。这是处理的完美事件(将此事件链接到sliderMoved)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。