从WKPickerInterface获取选定的索引

时间:2016-01-24 22:29:39

标签: ios apple-watch watch-os-2

我可以WKInterfacePicker致电pickerDidSettle,但如何获取所选项目的索引?

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

2 个答案:

答案 0 :(得分:6)

  

每次选择器值更改时,WKInterfacePicker对象   报告对其相关操作方法的更改。这种格式   行动方法如下:

     

<强>目的-C

     

- (IBAction为)pickerAction:(NSInteger的)索引

     

<强> SWIFT    @IBAction func pickerAction(index:Int)

     

您可以使用操作方法的索引值来获取所选的   您用于配置选择器的项目数组中的项目。该   无论如何,选择器都会报告其操作方法的每个更改   用户快速转动数字冠。如果您的应用只应回复   到用户选择的项目,使用pickerDidSettle:方法   WKInterfaceController代替获取所选项目。

Source Link

UPDATED SOURCE LINK

答案 1 :(得分:0)

我做了什么来解决这个问题

在.h文件中创建

NSInteger PickerIndex;

迅速

 var PickerIndex: Int

然后在我的.m

 - (IBAction)pickerAction:(NSInteger)index {

       PickerIndex = index;
}

迅速

@IBAction func pickerAction(index: Int) {

 PickerIndex = index

}

*不要忘记在Interface Builder中链接IBAction

然后在pickerDidSettle方法中使用它

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

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

}

迅速

func pickerDidSettle(_ picker: WKInterfacePicker) {

     print(PickerIndex)

}