我可以WKInterfacePicker
致电pickerDidSettle
,但如何获取所选项目的索引?
@IBAction override func pickerDidSettle(picker: WKInterfacePicker) {
print("Picker settled to index: \(picker)")
}
答案 0 :(得分:6)
每次选择器值更改时,WKInterfacePicker对象 报告对其相关操作方法的更改。这种格式 行动方法如下:
<强>目的-C 强>
- (IBAction为)pickerAction:(NSInteger的)索引
<强> SWIFT 强> @IBAction func pickerAction(index:Int)
您可以使用操作方法的索引值来获取所选的 您用于配置选择器的项目数组中的项目。该 无论如何,选择器都会报告其操作方法的每个更改 用户快速转动数字冠。如果您的应用只应回复 到用户选择的项目,使用pickerDidSettle:方法 WKInterfaceController代替获取所选项目。
答案 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)
}