1

WKInterfacePickerリストから文字列を選択するために a を使用しようとしています。現在、IBAction関数を使用して、ピッカーの値を格納する変数を更新しています。ただし、ピッカーで選択した要素が変数の値と異なっていても、デジタル クラウンをすばやく回転させると変数が更新されません。さらに、ビューが最初にロードされたときに選択された要素が、変数の初期値と異なる場合があります (たとえば、ピッカーで 0 が選択されているのに、変数の値が 2 である)。とIB で正しく配線されているIBOutletsと思います。IBActionsこれはベータ版ソフトウェアのバグですか、それとも使い方が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 ベータ 1 のバグです。私は同じ問題を再現でき、他の多くの人も同じことを報告しています。

次のベータ版で修正されることを願っています。

更新: ベータ 2 ではまだ壊れています

更新: ベータ 3 でアプリを実行することさえできません

更新: ... またはベータ 4

更新: El Capitan beta 6 + XCode 7 beta 4 を使用してビルドできません

于 2015-06-23T10:44:16.283 に答える