0

我是 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。不知道这是否值得麻烦。

4

1 回答 1

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 委托

-(void)textFieldDidBeginEditing:(UITextField *)textField{
   self.picker.textField = textField;
  [self.picker showInView:self.view];
}
于 2013-08-28T07:17:07.993 回答