swift - 获取 WKInterfacePicker 的选中项

标签 swift watchkit watchos-2

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

最佳答案

很抱歉,这是 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/

相关文章:

ios - 更改 watchKit 中的初始界面 Controller

ios - watchOS 2 上是否有等效的 UIApplicationDidReceiveMemoryWarningNotification?

ios - 使用 updateApplicationContext 发送钥匙串(keychain)值是否安全

ios - 推送即将到来,但未更新 firebase DB

ios - WatchKit:如何将GLANCE INTERFACE带到 watch 显示屏上?

ios - SwiftUI 出现意外动画

ios - watchOS 7 不再更新并发症

apple-watch - 将现有的watchOS 1项目升级到watchOS 2

ios - Swift 中 AppDelegate 中的网络调用

ios - 删除 Horizo​​ntal StackView 内 TextView 中的 Padding 顶部