我知道通过UIDatePicker,您可以使用类似以下内容的东西:
NSDate *myDate = picker.date;
但是我在视图中使用的是UIPickerView。我如何才能类似地获得所选值?还是我必须设置didSelectRow类型的方法来做到这一点?
更新:此代码适用于具有1个组件的选择器:
NSInteger row;
NSString *weightSelected;
row = [repPicker selectedRowInComponent:0];
weightSelected = [pickerArray objectAtIndex:row];
我为带有2个组件的选择器厌倦了这段代码,但是它冻结了:
NSInteger row1, row2;
NSString *weightSelected1;
NSString *weightSelected2;
row1 = [repPicker selectedRowInComponent:0];
row2 = [repPicker selectedRowInComponent:1];
weightSelected1 = [pickerArray objectAtIndex:row1];
weightSelected2 = [pickerArray objectAtIndex:row2];
NSString *weightSelected = [NSString stringWithFormat:@"%@.%@", weightSelected1, weightSelected2];
您可以通过以下方式获得它:
NSInteger row;
NSArray *repeatPickerData;
UIPickerView *repeatPickerView;
row = [repeatPickerView selectedRowInComponent:0];
self.strPrintRepeat = [repeatPickerData objectAtIndex:row];
strPrintRepeat就是一个变量,它存储PickerView的字符串值。那是:-NSString * strPrintRepeat。
感谢Jay,我将它与具有一个组件的选取器一起使用。尽管可以与具有2个组件的选取器一起使用,但您可以帮助修改它吗?我在问题谢谢中添加了我用于1个组件选择器的确切代码。
我不明白这个答案... repeatPickerData到底是什么?怎么填充的?
@yourfriendzak repeatPickerData在这里我刚刚声明过,但是不会在这里出现。它会出现在viewDidLoad方法上,并且包含我们将在UIPickerView中显示的值。感谢您提出问题,如果您仍然有疑问,欢迎您提出问题。
对于这种情况,请稍作澄清。NSLog(@“%@”,[self.arrayFields objectAtIndex:[self.queryPicker1 selectedRowInComponent:0]]);; 其中arrayFields是UIPickerView的数据数组。其中queryPicker1是UIPickerView。其中selectedRowInComponent:0是UIPickerView的第一列(如果选择器中有2列,并且希望第二列的值使用1而不是0)。