pickerDidSettle
にWKInterfacePicker
を呼び出すことができますが、選択したアイテムのインデックスを取得するにはどうすればよいですか?WKPickerInterfaceから選択したインデックスを取得
@IBAction override func pickerDidSettle(picker: WKInterfacePicker) {
print("Picker settled to index: \(picker)")
}
pickerDidSettle
にWKInterfacePicker
を呼び出すことができますが、選択したアイテムのインデックスを取得するにはどうすればよいですか?WKPickerInterfaceから選択したインデックスを取得
@IBAction override func pickerDidSettle(picker: WKInterfacePicker) {
print("Picker settled to index: \(picker)")
}
たびピッカー値の変更は、WKInterfacePickerオブジェクト は、それに関連するアクションメソッドへの変更を報告します。次のようにこの アクションメソッドの形式がある:
Objective-Cの
- (IBAction)pickerAction:(NSInteger)インデックス
SWIFT pickerAction(インデックスFUNC @IBActionます。int )
ピッカーの設定に使用したアイテムの配列から、選択した アイテムを取得するために、アクションメソッドのインデックス値を使用できます。 ピッカーは、 のユーザーがDigital Crownをどのように高速化するかにかかわらず、アクションメソッドのすべての変更を報告します。アプリが だけをユーザーが選択したアイテムに応答する必要がある場合は、 WKInterfaceControllerのpickerDidSettle:メソッドを使用して、選択したアイテムを代わりに取得します。私はこの
が
NSInteger PickerIndex;
迅速.hファイルで作成して解決するためにやった
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)
}
引用されたテキストは、もはやソースリンクにありません。このリンクを試してください:[link](https://developer.apple.com/library/content/documentation/General/Conceptual/WatchKitProgrammingGuide/Picker.html) – ghr
しかし、ピッカーから選択したアイテムを取得する方法は説明していません。 – ghr
更新されたリンクをありがとう。また、引用されたテキストでは、ピッカーがそのメソッドのすべての変更をレポートするので、「アイテムの配列から選択したアイテムを取得するためのアクションメソッドのインデックス値」を使用することができます。 – Muneeba