我想知道如何将2 WKInterfaceSlider的值相加。
这是我到目前为止完成的整个代码:
@IBOutlet weak var label1: WKInterfaceLabel!
@IBOutlet weak var slider1: WKInterfaceSlider!
@IBOutlet weak var label2: WKInterfaceLabel!
@IBOutlet weak var slider2: WKInterfaceSlider!
@IBAction func sliderValueChanged(value: Float)
{
let roundedValue = Int(round(value))
self.label1.setText("\(roundedValue)")
}
@IBAction func slider2ValueChanged(value: Float)
{
let roundedValue = Int(round(value))
self.label2.setText("\(roundedValue)")
}
@IBAction func calculos()
{
var result = slider1.value + slider2.value
self.result.setText("\(result)")
}
Xcode不会编译它,有一个!
表示
类型的值' WKInterfaceSlider'没有会员'价值'。
答案 0 :(得分:2)
在WatchOS上你无法读取滑块值,你必须自己跟踪它:
var sliderOneValue : Int = 0 // if you set starting values in the interface builder, you need to set them here as well
var sliderTwoValue : Int = 0
@IBAction func sliderValueChanged(value: Float) {
sliderOneValue = Int(round(value))
self.label1.setText("\(sliderOneValue)")
}
@IBAction func slider2ValueChanged(value: Float) {
sliderTwoValue = Int(round(value))
self.label2.setText("\(sliderTwoValue)")
}
@IBAction func calculos() {
let result = sliderOneValue + sliderTwoValue
self.result.setText("\(result)")
}
当用户更改滑块的值时,WatchKit会将新值传递给滑块的操作方法。滑块操作方法的格式如下:
@IBAction func sliderAction(value: Float)
在接口控制器类中声明此表单的方法,用于接收滑块的新值。您可以将方法名称更改为您喜欢的任何名称。在Xcode中配置滑块时,请将其选择器连接到自定义操作方法。