【问题标题】:Swift 3: Using a slider to show timeSwift 3:使用滑块显示时间
【发布时间】:2017-01-10 15:58:18
【问题描述】:

我正在尝试编写一个类似于 IOS 10 的新就寝时间功能的闹钟,但我对 Swift 还很陌生。我有 2 个 UISlider:一个用于何时睡觉,另一个用于唤醒。我的问题是:如何结合两个 UISlider?我怎样才能让它计算分钟和小时?滑块中是否可以有网格线和停止点?我的想法是增量为 0.12,每当值达到 0.60 时,我会将其计为 1 小时和“...”分钟。

编辑:添加图像和代码

import UIKit
class ViewController: UIViewController {
    @IBOutlet weak var sleepTime: UISlider!
    @IBOutlet weak var displaySleep: UITextField!
    var sliderValue1 = 12
    var sliderValue2 = 12
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }
    @IBAction func slider1Changed(_ sender: UISlider!) {
        var currentValue1 = Int(sender.value)
        displaySleep.text = "\(sliderValue2 - currentValue1) hours of sleep"
    }
    @IBAction func slider2Changed(_ sender: UISlider!) {
        var currentValue2 = Int(sender.value)
        displaySleep.text = "\(currentValue2 - sliderValue1) hours of sleep"
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

【问题讨论】:

    标签: time swift3 uislider alarm


    【解决方案1】:

    回答你的第一个问题。

    您可以使用Segmented Control 组合这两个滑块。当用户选择“睡眠”或“唤醒”时,它将在实施时相应地更改 Slider 值。

    控件单击然后从分段控件拖动到View Controller 类以创建IBAction 连接。确保将类型更改为UISegmentedControl

      @IBAction func onControlChanged(_ sender: UISegmentedControl) {
        switch sender.selectedSegmentIndex {
        case 0: // Sleep selected
          // Update Slider 
          break
    
        case 1: // Wake Up selected
          // Update Slider
          break
    
        default: 
          break
        }
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-14
      • 2013-12-17
      • 1970-01-01
      相关资源
      最近更新 更多