我正在尝试使用 WKInterfacePicker
从列表中选择一个字符串。截至目前,我正在使用 IBAction
函数并更新存储选择器值的变量。但是,如果我旋转数字表冠太快,即使选择器中的选定元素与变量的值不同,变量也不会更新。此外,首次加载 View 时选择的元素有时与变量的初始值不同(例如,在选择器中选择了 0,但变量的值为 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 构建
关于swift - 获取 WKInterfacePicker 的选中项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30985861/