2016-01-24 13 views
7

pickerDidSettleWKInterfacePickerを呼び出すことができますが、選択したアイテムのインデックスを取得するにはどうすればよいですか?WKPickerInterfaceから選択したインデックスを取得

@IBAction override func pickerDidSettle(picker: WKInterfacePicker) { 
    print("Picker settled to index: \(picker)") 
} 

答えて

5

たびピッカー値の変更は、WKInterfacePickerオブジェクト は、それに関連するアクションメソッドへの変更を報告します。次のようにこの アクションメソッドの形式がある:

Objective-Cの

- (IBAction)pickerAction:(NSInteger)インデックス

SWIFT pickerAction(インデックスFUNC @IBActionます。int )

ピッカーの設定に使用したアイテムの配列から、選択した アイテムを取得するために、アクションメソッドのインデックス値を使用できます。 ピッカーは、 のユーザーがDigital Crownをどのように高速化するかにかかわらず、アクションメソッドのすべての変更を報告します。アプリが だけをユーザーが選択したアイテムに応答する必要がある場合は、 WKInterfaceControllerのpickerDidSettle:メソッドを使用して、選択したアイテムを代わりに取得します。私はこの

NSInteger PickerIndex; 

迅速.hファイルで作成して解決するためにやった

Source Link

UPDATED SOURCE LINK

+0

引用されたテキストは、もはやソースリンクにありません。このリンクを試してください:[link](https://developer.apple.com/library/content/documentation/General/Conceptual/WatchKitProgrammingGuide/Picker.html) – ghr

+0

しかし、ピッカーから選択したアイテムを取得する方法は説明していません。 – ghr

+0

更新されたリンクをありがとう。また、引用されたテキストでは、ピッカーがそのメソッドのすべての変更をレポートするので、「アイテムの配列から選択したアイテムを取得するためのアクションメソッドのインデックス値」を使用することができます。 – Muneeba

0

var PickerIndex: Int 

その後

- (IBAction)pickerAction:(NSInteger)index { 

     PickerIndex = index; 
} 

迅速私の.mで

@IBAction func pickerAction(index: Int) { 

PickerIndex = index 

} 

* pickerDidSettle方法でそれをInterface Builderで

をIBActionをリンクし、そして使用することを忘れないでください

-(void)pickerDidSettle:(WKInterfacePicker *)picker{ 

    NSLog(@"Selected Index: %ld",(long)PickerIndex); 

} 

swift

func pickerDidSettle(_ picker: WKInterfacePicker) { 

    print(PickerIndex) 

} 
関連する問題