如何获取自定义uipickervieww中选中的cell的值

Leave a Reply
Recent Posts
Send to Email Address
Your Email Address
Post was not sent - check your email addresses!
Email check failed, please try again
Sorry, your blog cannot share posts by email.如何获取UIPickerView中选中的cell的值_百度知道
如何获取UIPickerView中选中的cell的值
提问者采纳
array objectAtIndex,就是数组中的值NSString *value=[_pickerViewController.pickerView selectedRowInComponent。//获取选中的列中的所在的行NSInteger row=[_pickerViewC//然后是获取这个行中的值:row]这个pickerView是在pickerViewController这个UIViewController中:0]
资深电脑人
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁IOS之简单选择器UIPickerView(省份+城市) - 电波小子,在沉默中反思 - ITeye技术网站
博客分类:
先介绍一下我们要实现什么功能。有1个选择器,有左右两个轮子,做轮子选择省份,右轮子选择城市,其中选择省份时,右边的城市会自动更新。
1、首先,对UIPickerView绑定Delegate和DataSource到相应的ViewController。此处不再赘述。可以用代码或者Interface界面设置。
2、首先实现数据的初始化。
(1)在.h文件中定义如下变量。其中provinces_cities.plist请见附件。
@interface IkrboyViewController : UIViewController{
NSDictionary *//用于存储省份-城市的数据
NSArray *provinceA//省份的数组
NSArray *cityA//城市的数组,在接下来的代码中会有根据省份的选择进行数据更新的操作
(2)在.m的viewDidLoad方法中加上初始化数据的处理。具体处理在initPicker方法
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self initPicker];
//初始化PickerView使用的数据源
-(void)initPicker{
NSBundle *bundle = [NSBundle mainBundle];
NSString *plistPath = [bundle pathForResource:@"provinces_cities" ofType:@"plist"];
dict = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
provinceArray = [dict allKeys];
NSInteger selectedProvinceIndex = [self.pickerView selectedRowInComponent:0];
NSString *seletedProvince = [provinceArray objectAtIndex:selectedProvinceIndex];
cityArray = [dict objectForKey:seletedProvince];
NSLog(@"%d",[provinceArray count]);
3、将数据绑定到UIPickerView
//以下3个方法实现PickerView的数据初始化
//确定picker的轮子个数
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
//确定picker的每个轮子的item数
- (NSInteger)pickerView:(UIPickerView *)pickerView
numberOfRowsInComponent:(NSInteger)component {
if (component == 0) {//省份个数
return [provinceArray count];
} else {//市的个数
return [cityArray count];
//确定每个轮子的每一项显示什么内容
#pragma mark 实现协议UIPickerViewDelegate方法
-(NSString *)pickerView:(UIPickerView *)pickerView
titleForRow:(NSInteger)row forComponent:(NSInteger)component {
if (component == 0) {//选择省份名
return [provinceArray objectAtIndex:row];
} else {//选择市名
return [cityArray objectAtIndex:row];
4.随时监听UIPickerView的滚动。
//监听轮子的移动
- (void)pickerView:(UIPickerView *)pickerView
didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
if (component == 0) {
NSString *seletedProvince = [provinceArray objectAtIndex:row];
cityArray = [dict objectForKey:seletedProvince];
//重点!更新第二个轮子的数据
[self.pickerView reloadComponent:1];
NSInteger selectedCityIndex = [self.pickerView selectedRowInComponent:1];
NSString *seletedCity = [cityArray objectAtIndex:selectedCityIndex];
NSString *msg = [NSString stringWithFormat:@"province=%@,city=%@", seletedProvince,seletedCity];
NSLog(@"%@",msg);
NSInteger selectedProvinceIndex = [self.pickerView selectedRowInComponent:0];
NSString *seletedProvince = [provinceArray objectAtIndex:selectedProvinceIndex];
NSString *seletedCity = [cityArray objectAtIndex:row];
NSString *msg = [NSString stringWithFormat:@"province=%@,city=%@", seletedProvince,seletedCity];
NSLog(@"%@",msg);
附加说明:利用下面的代码,获得UIPickerView的不同Component(滚轮)的选中的index。
NSInteger selectedProvinceIndex = [self.pickerView selectedRowInComponent:0];
NSInteger selectedCityIndex = [self.pickerView selectedRowInComponent:1];
(795 Bytes)
下载次数: 303
浏览 16778
找不到pickview 那个协议怎么搞?步骤写得不太详细,pickview报错。因为我用的是storyboard所以在头文件没有显示pickview协议,抱歉,建议头文件添加UIPickerViewDelegate, UIPickerViewDataSource,然后在初始化UIPickerView 之后,添加pickerView.delegate=
浏览: 100138 次
来自: 广州
坑爹。。。。。
为啥结果没有显示图片嘞,我都已经把你共享的文件给放进去了?
获取的总是空,为什么?!
附件下载下来是图片!
小红星凯 写道找不到pickview 那个协议怎么搞?步骤写得 ...如何获取UIPickerView中选中的cell的值_百度知道
如何获取UIPickerView中选中的cell的值
提问者采纳
就是数组中的值NSString *value=[_pickerViewController:row].array objectAtIndex。//获取选中的列中的所在的行 NSInteger row=[_pickerViewController.pickerView selectedRowInC//然后是获取这个行中的值:0]这个pickerView是在pickerViewController这个UIViewController中
资深电脑人
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何获取UIPickerView中选中的cell的值 - 看引擎 KENGINE | 看看新闻网 IT资讯
如何获取UIPickerView中选中的cell的值
0人收藏此文章,
发表于2小时前( 17:06) ,
已有6次阅读 ,共个评论
这个pickerView是在pickerViewController这个UIViewController中。
//获取选中的列中的所在的行
NSInteger row=[_pickerViewController.pickerView selectedRowInComponent:0];
//然后是获取这个行中的值,就是数组中的值
NSString *value=[_pickerViewController.array objectAtIndex:row];
声明:OSCHINA 博客文章版权属于作者,受法律保护。未经作者同意不得转载。
No tags for this post.
除非注明,本站文章均为原创或编译,转载请注明: 文章来自
分享给朋友:
查看全部:

我要回帖

更多关于 uipickerview的使用 的文章

 

随机推荐