我有一个选择器视图,它有四个组件。我创建了一个显示的标签。我有一个两个数组填充第一个组件(组件0)标签文本和最后一个组件(组件3)标签文本。对于中心的两个组件,我的标签文本设置如下
label.text = [NSString stringWithFormat:@"%d", row];
。
注意:这是viewForRow:
方法。我在它下面有一个按钮,我希望从每个组件中获取所选数据。如何获取所选中心的两个组件的字符串值?
我知道如何使用数组获取两个但我不确定如何获取所选的标签文本。如果我错过或忽略了一些非常简单的答案,请原谅我。
答案 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委托方法。
选择您希望的地点和时间