

Github源码下载(更新中)
//
// PickerViewController.m
// JXHDemo
//
// Created by919575700@qq.com on 10/27/15.
// Copyright (c)2015 Jiangxh. All rights reserved.
//
#import"PickerViewController.h"
@interfacePickerViewController ()
@property(nonatomic, strong)UIPickerView *pickerView;
@property(nonatomic, strong)UIDatePicker *datePicker;
@property(nonatomic, strong)NSDateFormatter *dateFormatter;
@end
@implementationPickerViewController
- (void)viewDidLoad{
[super viewDidLoad];
self.view.backgroundColor = RGBColor(230, 230,230);
// 1.项目选择框UIPickerView
//[self openPickerView];
// 2.日期选择框UIDatePicker
[self openDatePicker];
}
-(void)openPickerView {
//初始化坐标,尺寸会使用默认的,自己设置无效随便设置
_pickerView = [[UIPickerView alloc]initWithFrame:CGRectMake(0, ApplicationH/3, 0, 0)];
//背景色
_pickerView.backgroundColor = [UIColorwhiteColor];
//显示指示器
_pickerView.showsSelectionIndicator =YES;
//设置代理
_pickerView.delegate = self;
//数据协议
_pickerView.dataSource =self;
//取得列数
NSLog(@"列数:%li",(long)[_pickerViewnumberOfComponents]);
//取得某一列的行数
NSLog(@"第一列的行数:%li",(long)[_pickerViewnumberOfRowsInComponent:0]);
//某一列的尺寸
//CGSize size = [_pickerViewrowSizeForComponent:0];
//重新加载所有列
//[_pickerView reloadAllComponents];
//重新加载某一列
//[_pickerView reloadComponent:0];
//使某一列的某一行滚动到视图中心
[_pickerView selectRow:3 inComponent:0animated:YES];
//取得选择了的某一列的某一行
NSInteger row = [_pickerViewselectedRowInComponent:0];
NSLog(@"第一列选择的行数下标为:%li",(long)row);
//显示选择框
[self.view addSubview:_pickerView];
}
#pragma mark -UIPickerView的协议
//设置选择框的列数
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView*)pickerView {
return 3;
}
//设置每一列的行数
-(NSInteger)pickerView:(UIPickerView *)pickerViewnumberOfRowsInComponent:(NSInteger)component {
return 5;
}
//设置每一列的行高
-(CGFloat)pickerView:(UIPickerView *)pickerViewrowHeightForComponent:(NSInteger)component {
return 20;
}
//设置每一列的宽度
-(CGFloat)pickerView:(UIPickerView *)pickerViewwidthForComponent:(NSInteger)component {
return 100;
}
//设置某行某列的显示标题
- (NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)rowforComponent:(NSInteger)component {
return [[NSString alloc]initWithFormat:@"列%li行%li",(long)component,(long)row];
}
//设置某行某列的属性标题
//-(NSAttributedString *)pickerView:(UIPickerView *)pickerViewattributedTitleForRow:(NSInteger)rowforComponent:(NSInteger)component {
// return [[NSAttributedString alloc]initWithString:@"个性化文字"];
//}
//设置某行某列的显示图标
//- (UIView*)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)rowforComponent:(NSInteger)component reusingView:(UIView *)view{
// return [[UIView alloc] init];
//}
//选择了某行某列,每次滚动改变数据都会触发
-(void)pickerView:(UIPickerView *)pickerViewdidSelectRow:(NSInteger)row inComponent:(NSInteger)component{
NSLog(@"选择了第%li列第%li行",component,row);
}
-(void)openDatePicker {
//初始化坐标,尺寸会使用默认的,自己设置无效随便设置
_datePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(0, ApplicationH/3, 0, 0)];
//背景色
_datePicker.backgroundColor = [UIColorwhiteColor];
//添加到视图显示
[self.view addSubview:_datePicker];
//设置时间选择器的时间为当前时间,其实不设置默认也是当前时间
[_datePicker setDate:[NSDate date]];
//设置选择框的类型:只显示年月日
[_datePickersetDatePickerMode:UIDatePickerModeCountDownTimer];
//设置中文时间选择器
[_datePicker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"zh_Hans_CN"]];
//定义时间显示格式
[_dateFormattersetDateFormat:@"yyyy-MM-dd"];
//获取时间选择器的时间字符串
NSString *dateString = [_dateFormatterstringFromDate:_datePicker.date];
NSLog(@"时间选择器初试时间为:%@",dateString);
}
@end

参考博文:http://blog.sina.com.cn/s/blog_67b27b60010130mr.html