1

我正在尝试使用 aWKInterfacePicker从列表中选择一个字符串。截至目前,我正在使用一个IBAction函数并更新一个存储选择器值的变量。但是,如果我将数字表冠旋转得太快,即使选择器中的选定元素与变量的值不同,变量也不会更新。此外,第一次加载视图时选择的元素,有时与变量的初始值不同(例如,在选择器中选择了 0,但变量的值是 2)。我相信我的IBOutletsIBActions在 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
    }
}
4

1 回答 1

4

很抱歉,这是 WatchOS 2 beta 1 的错误。我可以重现同样的问题,许多其他人也报告了同样的问题。

希望下一个测试版会有修复。

更新:在 beta 2 中仍然存在问题

更新:甚至无法在 beta 3 中运行应用程序

更新:...或 beta 4

更新:无法使用 El Capitan beta 6 + XCode 7 beta 4 构建

于 2015-06-23T10:44:16.283 回答