Swift 3:使用滑块显示时间
Posted
技术标签:
【中文标题】Swift 3:使用滑块显示时间【英文标题】:Swift 3: Using a slider to show time 【发布时间】: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.
【问题讨论】:
【参考方案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
【讨论】:
以上是关于Swift 3:使用滑块显示时间的主要内容,如果未能解决你的问题,请参考以下文章