获取选定的选择器视图组件字符串值

时间:2014-01-03 06:02:23

标签: ios objective-c text label uipickerview

我有一个选择器视图,它有四个组件。我创建了一个显示的标签。我有一个两个数组填充第一个组件(组件0)标签文本和最后一个组件(组件3)标签文本。对于中心的两个组件,我的标签文本设置如下

label.text = [NSString stringWithFormat:@"%d", row];

注意:这是viewForRow:方法。我在它下面有一个按钮,我希望从每个组件中获取所选数据。如何获取所选中心的两个组件的字符串值?

我知道如何使用数组获取两个但我不确定如何获取所选的标签文本。如果我错过或忽略了一些非常简单的答案,请原谅我。

4 个答案:

答案 0 :(得分:0)

您应该实现委托方法pickerView:didSelectRow:inComponent:,它将为您提供所选的行和组件。您可以使用该信息访问相应数组中的正确索引。

答案 1 :(得分:0)

UIPickerView有一个“selectedRowInComponent:”方法,可以帮助您。您也可以从link获得一些参考 -

答案 2 :(得分:0)

- (void)pickerView: (UIPickerView *) pickerView didSelectRow: (NSInteger)row inComponent: (NSInteger) component {
    rowValue = row;
}

只需将行索引保留在global属性中,然后获取类似

的值
NSStrin *string=[NSString stringWithFormat:@"%d", rowValue]; 

答案 3 :(得分:0)

选择按钮时,只需获取当前选择器选择行

NSInteger row = [yourPicker selectedRowInComponent:0];
//Choose it for other components
NSString *yourComponentValue  = [yourArray objectAtIndex:row];

或者

 - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
   NSString *yourComponentValue = [NSString stringWithFormat:@"%d",[yourarray objectAtIndex:row];
   //Imagine this method will be called whenever the user scrolls. Usability point-of-view i would suggest not to update any of your UI here
}

当用户滚动选择器并完成滚动时,将调用此UPicker委托方法。

选择您希望的地点和时间