在 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 添加到您的界面控制器
- 添加
slider
和 label
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)")
}
}
希望这有助于阐明一些问题。
我希望用户能够在 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 添加到您的界面控制器
- 添加
slider
和label
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)")
}
}
希望这有助于阐明一些问题。