UIPickerView的多级联动问题有些地方需要注意,其实多级联动并不难。。。楼主因为项目需要又没法使用网上的第三方,所以最近写了一个省市区多级联动,还是手写代码好!!

为了演示效果,我会多定义几个属性,表现演示效果

@interface newTeamSettingController()<UIPickerViewDataSource,UIPickerViewDelegate>
@property(strong,nonatomic)NSString* strWeek;//记录周数
@property(strong,nonatomic)NSString* strTime;//记录时辰
@property(strong,nonatomic)NSArray* timeArray;//数组保存
@property(strong,nonatomic)UITextField* timeField;
@end

初始化,使textField一开始显示数据

- (void)viewDidLoad {
//初始化timeArray
NSArray* weekArray=@[@"周一",@"周二",@"周三",@"周四",@"周五",@"周六",@"周日"];
NSArray* shijianArray=@[@"上午",@"下午",@"晚上"];
self.timeArray=[NSArray arrayWithObjects:weekArray,shijianArray, nil];
//请选择的时间textField
self.timeField=[[UITextField alloc]initWithFrame:CGRectMake(*luScaleW, *luScaleH, *luScaleW, *luScaleH)];
self.timeField.tag=;
self.timeField.placeholder=@"请选择";
self.timeField.textAlignment=NSTextAlignmentRight;
self.timeField.adjustsFontSizeToFitWidth=YES;
self.strWeek=[NSString stringWithFormat:@"%@",self.timeArray[][]];
self.strTime=[NSString stringWithFormat:@"%@",self.timeArray[][]];
[self.chuZhenView addSubview:self.timeField];
//timePickerView
self.timePickerView=[[UIPickerView alloc]initWithFrame:CGRectMake(, CGRectGetMaxY(self.timeField.frame), LuW, )];
self.timePickerView.tag=;
self.timePickerView.dataSource=self;
self.timePickerView.delegate=self;
self.timeField.delegate=self;
self.timeField.inputView=self.timePickerView;
//在这里设置下方数据刷新部分的初始显示
for (int component = ; component<self.timeArray.count; component++) {
[self pickerView:nil didSelectRow: inComponent:component];
}
[self pickerView:nil didSelectRow: inComponent:];
self.doneBtn=[[UIToolbar alloc]initWithFrame:CGRectMake(, , LuW, )];
UIBarButtonItem * button1 =[[UIBarButtonItem alloc]initWithBarButtonSystemItem: UIBarButtonSystemItemFlexibleSpace target:self action:nil];
UIBarButtonItem* rightBtn=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneClick)];
self.doneBtn.items=[NSArray arrayWithObjects:button1,rightBtn, nil];
self.timeField.inputAccessoryView=self.doneBtn;
}

UIPickerView的代理方法

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return self.timeArray.count;
}
//每列对应多少行
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
NSArray* arryM=self.timeArray[component];
return arryM.count;
}
//每行对应显示的数据是什么
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
NSArray* arrayM=self.timeArray[component];
NSString* name=arrayM[row];
return name;
}
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
if (component==) {
[pickerView reloadComponent:];
[pickerView selectRow: inComponent: animated:YES];
_strWeek=self.timeArray[component][row];
_strTime=self.timeArray[][];
}
else
{
_strTime=self.timeArray[component][row];
}
self.timeField.text=[NSString stringWithFormat:@"%@ %@",_strWeek,_strTime];
}

完成。

UIPickerView 多级联动的更多相关文章

  1. 微信小程序-多级联动

    微信小程序中的多级联动 这里用到的案例是城市选择器 先上代码: .wxml <view class="{{boxHide}}"> <view>{{nian} ...

  2. PHP多级联动的学习(一)

    我尝试在ThinkCMF中实现多级联动,首先我开始看了dede的联动类别管理前后台的代码以及他的数据库,经过非常多次的尝试,我渐渐有了一点想法,并给予实施. 首先写出前台的界面.如图. 然后在数据库中 ...

  3. vue在多级联动时,一些情况不用watch而用onchange会更好

    onchange事件在内容改变且失去焦点时触发,因此在一些多级联动需要清空次级内容的时候,用onchange就非常有用了,尤其是浏览器会提前加载数据的情况下.有篇文章可以看一下,链接. PS:路漫漫其 ...

  4. [ PHP+jQuery ] ajax 多级联动菜单的应用:电商网站的用户地址选择功能 ( 二 ) - 仿亚马逊下拉面板

    /** jQuery version: 1.8.3 Author: 小dee Date: 2014.11.8 */ 接上一篇博客. 实现带缓存的仿亚马逊下拉面板 效果图: 图1 初始 图2 点击省份 ...

  5. DropDownList的多级联动

    DropDownList的多级联动的问题最典型的案例就是实现省市级三级联动的案例,对这个问题的描述是当选中山东省之后,在选择市的下拉菜单时,市一栏只出现山东省下面的市.对于县也是同样的道理. 我也做的 ...

  6. jQuery cxSelect 多级联动下拉菜单

    随着电商热门,这种多层次的互动更充分地体现在下拉菜单,最明显的是多级联动地址下拉选择,因此,这里是一个简单的分享 jQuery cxSelect 多级联动下拉菜单 cxSelect 它是基于 jQue ...

  7. jQuery插件——多级联动菜单

    jQuery插件——多级联动菜单 引言 开发中,有好多地方用到联动菜单,以前每次遇到联动菜单的时候都去重新写,代码重用率很低,前几天又遇到联动菜单的问题,总结了下,发现可以开发一个联动菜单的功能,以后 ...

  8. JavaScript 多级联动浮动(下拉)菜单 (第二版)

    JavaScript 多级联动浮动(下拉)菜单 (第二版)   上一个版本(第一版请看这里)基本实现了多级联动和浮动菜单的功能,但效果不是太好,使用麻烦还有些bug,实用性不高.这次除了修改已发现的问 ...

  9. MVC实现多级联动

    前言 多级联动(省级联动)的效果,网上现成的都有很多,各种JS实现,Jquery实现等等,今天我们要讲的是在MVC里面,如何更方便.更轻量的实现省级联动呢? 实现效果如下: 具体实现 如图所示,在HT ...

随机推荐

  1. JavaScript为字符串添加样式

    <script type="text/javascript"> var txt="Hello World!" document.write(&quo ...

  2. Ubuntu 16.04无法在WPS中输入中文的问题解决

    1. sudo gedit /usr/bin/wps 增加 export XMODIFIERS="@im=fcitx" export QT_IM_MODULE="fcit ...

  3. MySQL集群方案收集

    MySQL集群是一个需要时间才能磨得出的话题,不可能一下子就全部能掌握.由于整个方案结合LVS+Keepalived这种,更加的复杂. 下面是一些主流方案的收集: MySQL双主 + Keepaliv ...

  4. COLLECTL LINUX 监控

    http://blog.csdn.net/leichelle/article/details/23590289

  5. cache and database

    This article referenced from http://coolshell.cn/articles/17416.html We all know that high concurren ...

  6. hdu 5288 OO’s Sequence(2015 Multi-University Training Contest 1)

    OO's Sequence                                                          Time Limit: 4000/2000 MS (Jav ...

  7. jQuery异步框架探究1:jQuery._Deferred方法

    jQuery异步框架应用于jQuery数据缓存模块.jQuery ajax模块.jQuery事件绑定模块等多个模块,是jQuery的基础功能之中的一个.实际上jQuery实现的异步回调机制能够看做ja ...

  8. 实战c++中的vector系列--vector的一些异常

    今天就写一写vector的一些异常.能够捕捉的异常. out_of_range 相当于数组的越界了.vector会自己主动增大容量,可是假设索引超出了当前的size.就会引发异常. #include& ...

  9. CBO之Full Table Scan - FTS算法

    转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/44261859 ************************************** ...

  10. ubuntu系统下,下载Android源码

    博主电脑的Windows的  是用的vmware装的ubuntu kylin.vmware随便找都能找到尽量安装最新版本号的,而unbuntu在官方站点下载即可了,安装vmware的时候建议关闭安全类 ...