EAActionSheetPicker - 在委托方法中获取行

时间:2013-08-28 07:01:12

标签: ios objective-c

我是iOS新手。我正在使用EAActionSheetPicker(https://github.com/EckyZero/EAActionSheetPickerDemo)。

我这样启动我的选择器:

- (void)initLocationPicker
{
NSMutableArray* names = [[NSMutableArray alloc] initWithCapacity:_data.count];
for(Model *item in _data)
    [names addObject:item.name];

self.locationPicker = [[EAActionSheetPicker alloc]initWithOptions:names];
self.locationPicker.delegate = self;
}

我想要实现的是当我按下完成按钮时;我想知道在选择器中选择了哪个索引。我通过实现委托方法获得实际标签:

-(void)EAActionSheetPicker:(EAActionSheetPicker *)actionSheet
didDismissWithSelection:(id)selection
           inTextField:(UITextField *)textField{
NSLog(@"selected: %@", selection);
}

我怎么知道是哪个索引?

可能很明显。

由于

编辑:

也许最好的解决方案是使用我的实际数据阵列启动EAActionSheetPicker。不知道是否值得这么麻烦。

1 个答案:

答案 0 :(得分:0)

EAActionSheetPicker.m 中 在这种方法中     - (void)hide:(UISegmentedControl *)sender

<强> self.textField.tag =行;

此行NSInteger row = [self.picker selectedRowInComponent:0];

之后

现在在你的委托方法中

-(void)EAActionSheetPicker:(EAActionSheetPicker *)actionSheet
didDismissWithSelection:(id)selection
           inTextField:(UITextField *)textField{

NSLog(@"index: %@", textField.tag);

yourLabel.text=[names objectAtIndex:textField.tag];
}

// UITextField Delegate

-(void)textFieldDidBeginEditing:(UITextField *)textField{
   self.picker.textField = textField;
  [self.picker showInView:self.view];
}