iOS:UIPickerView选择器的使用
2015-08-27 20:04
591 查看
通过UIPickerView选择器做的一个类似于密码锁的日期时间表
源码如下:
源码如下:
#import <UIKit/UIKit.h> @interface ViewController : UIViewController<UIPickerViewDataSource,UIPickerViewDelegate> @property (strong,nonatomic) NSArray *weeks;//显示第一列的数据 @property (strong,nonatomic) NSArray *time; //显示第二列的数据 @property (strong,nonatomic)NSArray *years; //显示第三列的显示年 @property (strong,nonatomic)NSArray *months; //显示第四列的显示月 @property (strong,nonatomic)NSArray *days; //显示第五列的显示日 @property (assign,nonatomic)NSInteger number; @property (strong,nonatomic)NSString *str; @end
#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIPickerView *pickerView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //初始化 self.weeks = [NSArray arrayWithObjects:@"Mon",@"Tus",@"Thi",@"Wen",@"Fir",@"Sat",@"Sun", nil]; self.time = [NSArray arrayWithObjects:@"上午",@"中午",@"下午", nil]; self.years = [NSArray arrayWithObjects:@"2000",@"2001",@"2002",@"2003",@"2004",@"2005",@"2006",@"2007",@"2008",@"2009",@"2010",@"2011",@"2012",@"2013",@"2014",nil]; self.months = [NSArray arrayWithObjects:@"1",@"2", @"3", @"4", @"5", @"6", @"7", @"8", @"9", @"10", @"11", @"12", nil]; 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]; //设置pickerView的DataSource和Delegate self.pickerView.dataSource = self; self.pickerView.delegate = self; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } #pragma mark-pickerView的代理方法 //设置有多少列 -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { return 5; } //设置每列多少行 -(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { switch (component) { case 0: self.number = self.weeks.count; break; case 1: self.number = self.time.count; break; case 2: self.number = self.years.count; break; case 3: self.number = self.months.count; break; case 4: self.number = self.days.count; break; } return self.number; } //设置每行每列显示的内容 -(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { switch (component) { case 0: self.str = self.weeks[row]; break; case 1: self.str = self.time[row]; break; case 2: self.str = self.years[row]; break; case 3: self.str = self.months[row]; break; case 4: self.str = self.days[row]; break; } return self.str; } //通过代理方法didSelectRows获取数据 - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { //NSLog(@"列:%ld,行:%ld",component,row); switch (component) { case 0: 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]]]); break; case 1: 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]]]); break; case 2: 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]]]); break; case 3: 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]]]); break; case 4: 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]]); break; } } @end
相关文章推荐
- ligerUI form表单里的filed的类型根据另外个filed的值改变而改变
- UVA 10735 Euler Circuit (最大流)
- HDU 1005 Number Sequence(矩阵快速幂)
- 无需看到你的脸就能认出你——实现Beyond Frontal Faces: Improving Person Recognition Using Multiple Cues
- Android UI设计:AlertDialog
- iOS-UIViewController的UIView生命周期
- iOS:步进UIStepper、滑动块UISlider、开关UISwitch的基本使用
- UITaleViewCell
- uitextfield 当设置为selectedAll 时不让 复制、粘帖那几项自动出来的解决办法
- Building a Space Station(POJ--2031【最小生成树】
- UITableView的编辑
- 08-25 convertView、ViewHolder、MyfruitPractice、divider、Header
- JSF 2 hidden value example
- UIImageView添加圆角图片
- Ngui如何弹出提示消息,并淡出【支持多条】
- 8.8.1 Optimizing Queries with EXPLAIN
- amaze UI animation动画示例
- ValueError: setting an array element with a sequence.
- ValueError: setting an array element with a sequence.
- 如何访问UITextField内的值