在 WatchKit 中使用滑块

Using a slider in WatchKit

我希望用户能够在 WatchKit 应用程序上 select 一系列年份,因为 WatchKit 中没有 UIPicker,我可以使用滑块让用户点击 + 或 - 来递增年,要显示在我上面的标签上?我阅读了文档,但仍然无法弄清楚如何实现 setNumberOfSteps 方法……或者,是否有比滑块更好的方法来实现此目的?

class InterfaceController: WKInterfaceController {

@IBOutlet weak var label: WKInterfaceLabel!

@IBOutlet weak var sliderOutlet: WKInterfaceSlider!

@IBAction func slider(value: Float) {
    func setNumberOfSteps(numberOfSteps: Int){
        label.setText("\(numberOfSteps)")
}
}

你绝对可以用滑块做到这一点。对我来说,可能没有更好的选择。您也可以模态地显示一个 table 视图,其中包含您希望能够 select 的所有可能年份,但我认为如果您没有太多年份可以选择,则滑块可能是更好的选择从中挑选。这是将 WKInterfaceSlider 与 WKInterfaceLabel 连接的快速示例。

故事板

  • 将 WKInterfaceSlider 和 WKInterfaceLabel 添加到您的界面控制器
  • 添加 sliderlabel IBOutlets
  • sliderValueChanged IBAction 添加到您的 InterfaceController class
  • 设置属性以匹配屏幕截图

代码

import WatchKit

class InterfaceController: WKInterfaceController {

    // MARK: - Properties

    @IBOutlet weak var label: WKInterfaceLabel!
    @IBOutlet weak var slider: WKInterfaceSlider!

    // MARK: - Interface Callback Methods

    @IBAction func sliderValueChanged(value: Float) {
        let roundedValue = Int(round(value))
        self.label.setText("\(roundedValue)")
    }
}

希望这有助于阐明一些问题。