获取 WKInterfacePicker 的选中项
Getting selected Item of WKInterfacePicker
我正在尝试使用 WKInterfacePicker
到 select 列表中的字符串。截至目前,我正在使用 IBAction
函数并更新存储选择器值的变量。但是,如果我旋转数字表冠太快,即使选择器中的 selected 元素与变量的值不同,变量也不会更新。此外,首次加载视图时 selected 元素有时与变量的初始值不同(例如 0 在选择器中 selected,但变量的值为 2)。我相信我的 IBOutlets
和 IBActions
在 IB 中连接正确。这是测试版软件中的错误,还是我使用 WKInterfacePicker
不正确?这是 WKInterfaceController
:
的代码
import WatchKit
import Foundation
class InterfaceController: WKInterfaceController {
@IBOutlet var itemPicker:WKInterfacePicker?
var pickerVal = 0
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
var itemArr = [WKPickerItem]()
for n in 0...5 {
let k = WKPickerItem()
k.title = String(n)
itemArr.append(k)
}
itemPicker?.setItems(itemArr)
itemPicker?.setEnabled(false)
}
override func willActivate() {
// This method is called when watch view controller is about to be visible to user
super.willActivate()
itemPicker?.setSelectedItemIndex(0)
itemPicker?.setEnabled(true)
}
override func didDeactivate() {
// This method is called when watch view controller is no longer visible
super.didDeactivate()
}
@IBAction func itemPickerUpdated(index: Int) {
pickerVal = index
}
}
很抱歉,这是 WatchOS 2 beta 1 的错误。我可以重现同样的问题,许多其他人也报告了同样的问题。
希望下一个测试版能有一个修复。
更新:在 beta 2 中仍然有问题
更新:甚至运行 beta 3 中的应用程序
更新:...或 beta 4
更新:无法使用 El Capitan beta 6 + XCode 7 beta 4
构建
我正在尝试使用 WKInterfacePicker
到 select 列表中的字符串。截至目前,我正在使用 IBAction
函数并更新存储选择器值的变量。但是,如果我旋转数字表冠太快,即使选择器中的 selected 元素与变量的值不同,变量也不会更新。此外,首次加载视图时 selected 元素有时与变量的初始值不同(例如 0 在选择器中 selected,但变量的值为 2)。我相信我的 IBOutlets
和 IBActions
在 IB 中连接正确。这是测试版软件中的错误,还是我使用 WKInterfacePicker
不正确?这是 WKInterfaceController
:
import WatchKit
import Foundation
class InterfaceController: WKInterfaceController {
@IBOutlet var itemPicker:WKInterfacePicker?
var pickerVal = 0
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
var itemArr = [WKPickerItem]()
for n in 0...5 {
let k = WKPickerItem()
k.title = String(n)
itemArr.append(k)
}
itemPicker?.setItems(itemArr)
itemPicker?.setEnabled(false)
}
override func willActivate() {
// This method is called when watch view controller is about to be visible to user
super.willActivate()
itemPicker?.setSelectedItemIndex(0)
itemPicker?.setEnabled(true)
}
override func didDeactivate() {
// This method is called when watch view controller is no longer visible
super.didDeactivate()
}
@IBAction func itemPickerUpdated(index: Int) {
pickerVal = index
}
}
很抱歉,这是 WatchOS 2 beta 1 的错误。我可以重现同样的问题,许多其他人也报告了同样的问题。
希望下一个测试版能有一个修复。
更新:在 beta 2 中仍然有问题
更新:甚至运行 beta 3 中的应用程序
更新:...或 beta 4
更新:无法使用 El Capitan beta 6 + XCode 7 beta 4
构建