ios - 在 WatchKit 中使用 slider

标签 ios swift watchkit apple-watch

我希望用户能够在 WatchKit 应用程序上选择年份范围,因为 WatchKit 中没有 UIPicker,我可以使用 slider 让用户单击 + 或 - 来增加年份,以显示在我上面的标签?我阅读了文档,但仍然无法弄清楚如何实现 setNumberOfSteps 方法......或者,是否有比 slider 更好的方法来实现此目的?

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)")
}
}

最佳答案

您绝对可以使用 slider 来做到这一点。对我来说可能没有更好的选择。您还可以以模态方式呈现表格 View ,其中包含您希望能够选择的所有可能年份,但我认为如果您没有太多年份可供选择,则 slider 可能是更好的选择。下面是一个将 WKInterfaceSlider 与 WKInterfaceLabel 连接的简单示例。

Storyboard

  • 将 WKInterfaceSlider 和 WKInterfaceLabel 添加到您的界面 Controller
  • 添加 slider 标签 IBOutlet
  • sliderValueChanged IBAction 添加到您的 InterfaceController 类
  • 设置属性以匹配屏幕截图

Label Settings

Slider Settings

代码

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)")
    }
}

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

关于ios - 在 WatchKit 中使用 slider ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28996720/

相关文章:

ios - 重新加载表格 View 但不要移动视口(viewport) iOS

ios - 将 UICollectionView 的选定索引路径存储在 UITableView 中

ios - Watch OS2 中的动画图像不起作用

swift - 如何在 tableViewCell 中快速添加一个 pickerView?

ios - 如何调用自定义委托(delegate)函数文本字段采用新大小

SwiftUI - 通过 ContextMenu 显示模态

ios - 如何让 watchkit 扩展应用程序和我的 iphone 应用程序共享相同的 icloud 数据库

iphone - 使用 NSNumbers 优于整数或 float 的优势?

ios - CLPlacemark 属性为零时的处理

objective-c - 需要将 Tapku 日历设置为仅可选择特定日期吗?