iOS:UIPickerView选择器的使用

简介:

通过UIPickerView选择器做的一个类似于密码锁的日期时间表

   源码如下:

 

复制代码
 1 #import <UIKit/UIKit.h>
 2 
 3 @interface ViewController : UIViewController<UIPickerViewDataSource,UIPickerViewDelegate>
 4 @property (strong,nonatomic) NSArray *weeks;//显示第一列的数据
 5 @property (strong,nonatomic) NSArray *time; //显示第二列的数据
 6 
 7 @property (strong,nonatomic)NSArray *years;   //显示第三列的显示年
 8 @property (strong,nonatomic)NSArray *months;  //显示第四列的显示月
 9 @property (strong,nonatomic)NSArray *days;    //显示第五列的显示日
10 
11 @property (assign,nonatomic)NSInteger number;
12 @property (strong,nonatomic)NSString *str;
13 @end
复制代码

 

 

复制代码
  1 #import "ViewController.h"
  2 
  3 @interface ViewController ()
  4 @property (weak, nonatomic) IBOutlet UIPickerView *pickerView;
  5 
  6 @end
  7 
  8 @implementation ViewController
  9 - (void)viewDidLoad {
 10     [super viewDidLoad];
 11     
 12     //初始化
 13     
 14     self.weeks = [NSArray arrayWithObjects:@"Mon",@"Tus",@"Thi",@"Wen",@"Fir",@"Sat",@"Sun", nil];
 15     
 16     self.time = [NSArray arrayWithObjects:@"上午",@"中午",@"下午", nil];
 17     
 18     self.years = [NSArray arrayWithObjects:@"2000",@"2001",@"2002",@"2003",@"2004",@"2005",@"2006",@"2007",@"2008",@"2009",@"2010",@"2011",@"2012",@"2013",@"2014",nil];
 19     
 20     self.months = [NSArray arrayWithObjects:@"1",@"2", @"3", @"4", @"5", @"6", @"7", @"8", @"9", @"10", @"11", @"12", nil];
 21     
 22     self.days = [NSArray arrayWithObjects:@"01",@"02",@"03",@"04",@"05",@"06",@"07",@"08",@"09",@"10",@"11",@"12",@"13",@"14",@"15",@"16",@"17",@"18",@"19",@"20",@"21",@"22",@"23",@"24",@"25",@"26",@"27",@"28",@"29",@"30",@"31",nil];
 23     
 24     
 25     //设置pickerView的DataSource和Delegate
 26     self.pickerView.dataSource = self;
 27     self.pickerView.delegate = self;
 28 }
 29 - (void)didReceiveMemoryWarning {
 30     [super didReceiveMemoryWarning];
 31     // Dispose of any resources that can be recreated.
 32 }
 33 
 34 #pragma mark-pickerView的代理方法
 35 
 36 //设置有多少列
 37 -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
 38 {
 39     return 5;
 40 }
 41 
 42 //设置每列多少行
 43 -(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
 44 {
 45     switch (component)
 46     {
 47         case 0:
 48             self.number = self.weeks.count;
 49             break;
 50         case 1:
 51             self.number = self.time.count;
 52             break;
 53         case 2:
 54             self.number = self.years.count;
 55             break;
 56         case 3:
 57             self.number = self.months.count;
 58             break;
 59         case 4:
 60             self.number = self.days.count;
 61             break;
 62     }
 63     
 64     return self.number;
 65     
 66 }
 67 
 68 //设置每行每列显示的内容
 69 -(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
 70 {
 71     
 72     switch (component)
 73     {
 74         case 0:
 75             self.str = self.weeks[row];
 76             break;
 77         case 1:
 78             self.str = self.time[row];
 79             break;
 80         case 2:
 81             self.str = self.years[row];
 82             break;
 83         case 3:
 84             self.str = self.months[row];
 85             break;
 86         case 4:
 87             self.str = self.days[row];
 88             break;
 89     }
 90 
 91     return self.str;
 92     
 93 }
 94 
 95 //通过代理方法didSelectRows获取数据
 96 - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
 97 {
 98     //NSLog(@"列:%ld,行:%ld",component,row);   
 99     switch (component)
100     {
101         case 0:
102             NSLog(@"%@",[NSString stringWithFormat:@"%@,%@,%@,%@,%@",self.weeks[row],self.time[[pickerView selectedRowInComponent:1]],self.years[[pickerView selectedRowInComponent:2]],self.months[[pickerView selectedRowInComponent:3]],self.days[[pickerView selectedRowInComponent:4]]]);
103             break;
104         case 1:
105             NSLog(@"%@",[NSString stringWithFormat:@"%@,%@,%@,%@,%@",self.weeks[[pickerView selectedRowInComponent:0]],self.time[row],self.years[[pickerView selectedRowInComponent:2]],self.months[[pickerView selectedRowInComponent:3]],self.days[[pickerView selectedRowInComponent:4]]]);
106             break;
107         case 2:
108             NSLog(@"%@",[NSString stringWithFormat:@"%@,%@,%@,%@,%@",self.weeks[[pickerView selectedRowInComponent:0]],self.time[[pickerView selectedRowInComponent:1]],self.years[row],self.months[[pickerView selectedRowInComponent:3]],self.days[[pickerView selectedRowInComponent:4]]]);
109             break;
110         case 3:
111             NSLog(@"%@",[NSString stringWithFormat:@"%@,%@,%@,%@,%@",self.weeks[[pickerView selectedRowInComponent:0]],self.time[[pickerView selectedRowInComponent:1]],self.years[[pickerView selectedRowInComponent:2]],self.months[row],self.days[[pickerView selectedRowInComponent:4]]]);
112             break;
113         case 4:
114             NSLog(@"%@",[NSString stringWithFormat:@"%@,%@,%@,%@,%@",self.weeks[[pickerView selectedRowInComponent:0]],self.time[[pickerView selectedRowInComponent:1]],self.years[[pickerView selectedRowInComponent:2]],self.months[[pickerView selectedRowInComponent:3]],self.days[row]]);
115             break;
116     }
117 }
118 @end
复制代码

 

程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!


本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/4764454.html,如需转载请自行联系原作者
目录
相关文章
|
iOS开发
iOS开发 - 滚动选择器
iOS开发 - 滚动选择器
206 0
iOS开发 - 滚动选择器
|
iOS开发
iOS开发:城市选择器集成
该项目集成了三种类型的城市选择器: 1、XXCityPickerView 省市区,可以分级:1省 2省-市 3省-市-区 2、SQSelectAddress 省市区乡/镇,页面跳转 3、RattanCityPicker 省市区,包含邮编地址,开放多个属性设置的接口
410 0
iOS开发:城市选择器集成
|
iOS开发
iOS选择器视图控件(UIPickerView)使用方法总结
iOS选择器视图控件(UIPickerView)使用方法总结
494 0
|
开发者 iOS开发
iOS-UIPickerView 详解总结
写在文前 由于最近开发中经常碰到类似日期选择器相关业务使用场景,虽然这个系统控件相对来说非常简单,有点儿类似UITableView的感觉,初始化之后设置数据源,代理,完成相应的数据源方法就可以正常展示了,而且其数据源 代理方法相对来说也很少,肯花心思去思考 记忆,很快就能掌握这个控件。
1244 0
|
Android开发 iOS开发 容器
Android仿ios条件选择器pickerview
最近怎么老写View,可能写view比较方便,写其它东西还要抽时间整理总结,写View就直接封完写出来就行。 准备国庆放假,无心工作,那就写篇简单实用一点的文章,总不能白白浪费了时间。
1250 0
|
iOS开发
iOS开发之UITableView联动实现城市选择器
在 iOS开发之城市选择器一文中用两列的UIPickerView实现了城市选择器,今天用两个UITableView来实现一下,首先这种联动在很多地方用得上,而且方法有好几种,我这里选择了个人喜欢的一种方式:弄两个UITableView,让当前控制器管理。
1103 0
|
iOS开发
iOS开发之城市选择器
城市选择器,借助于UIPickerView来实现,第一列为省份,第二列为第一列省份对应的城市或者区,数据放在plist中,plist结构如下图所示,第一层是一个Dictionary,每个省份对应的城市是一个Array: plist.
1387 0