首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从UIPickerView中获取所选值

如何从UIPickerView中获取所选值
EN

Stack Overflow用户
提问于 2011-04-20 12:38:52
回答 10查看 119.7K关注 0票数 77

我知道使用UIDatePicker时,您可以使用以下内容:

代码语言:javascript
复制
NSDate *myDate = picker.date;

但我在视图中使用的是UIPickerView。我如何以同样的方式获得选择的值?或者我必须设置didSelectRow类型的方法才能做到这一点?

更新:此代码适用于具有1个组件的选取器:

代码语言:javascript
复制
NSInteger row;
NSString *weightSelected;

row = [repPicker selectedRowInComponent:0];
weightSelected = [pickerArray objectAtIndex:row];

我用两个组件对我的选择器的代码进行了测试,但是它冻结了:

代码语言:javascript
复制
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];
EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2011-04-20 13:09:06

您可以通过以下方式获取:

代码语言:javascript
复制
NSInteger row;
NSArray *repeatPickerData;
UIPickerView *repeatPickerView;

row = [repeatPickerView selectedRowInComponent:0];
self.strPrintRepeat = [repeatPickerData objectAtIndex:row];
票数 128
EN

Stack Overflow用户

发布于 2012-03-31 05:06:43

您可以使用与pickerView相同的函数从自定义ViewController类中获取选取器的任何部分中所选项目的文本:

代码语言:javascript
复制
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component

使用所选项目

代码语言:javascript
复制
[myPickerView selectedRowInComponent:0]

因此,要使用当前从myPickerView的第二部分中选择的值来设置自定义单元格中标签的文本(可能是视图控制器的属性)

代码语言:javascript
复制
[cell.label setText:[self pickerView:myPickerView titleForRow:[myPickerView selectedRowInComponent:1] forComponent:1]];

只需将每个部分的:1s改为:2s,依此类推

票数 34
EN

Stack Overflow用户

发布于 2013-06-21 20:09:59

这是我所做的:

代码语言:javascript
复制
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {

    selectedEntry = [allEntries objectAtIndex:row];

}

selectedEntry是一个NSString,它将在选择器视图中保存当前选定的条目。我刚接触objective C,但我认为这要容易得多。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5725580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档