UIPickerView 的简单应用

首先  想应用PickerView 要引入两个代理

UIPickerViewDelegate,UIPickerViewDataSource

然后  我们在.m里面建立 UIPickerView

由于默认pickerView 只有一个滚轮   所以 想要自定义PickerView  是在一个UIView上面添加 pickerView 放在下面  然后在View的其他地方放Button什么之类的

UIView *pickerView=[[UIView alloc]initWithFrame:CGRectMake(0.0, [UIScreen mainScreen].bounds.size.height, [UIScreen mainScreen].bounds.size.width, 226.0*SCREEN_HEIGHT/568)];

pickerView.backgroundColor=selfGrayColor;

self.pickerBackView =pickerView;

//添加View

UIButton *finshButton=[[UIButton alloc]initWithFrame:CGRectMake([UIScreen mainScreen].bounds.size.width-60, 0.0, 50.0, 40)];

[finshButton setTitle:@"完成" forState:UIControlStateNormal];

[finshButton setTitleColor:selfBlueColor forState:UIControlStateNormal];

finshButton.layer.cornerRadius=10;

[finshButton addTarget:self action:@selector(tapActionClick1:) forControlEvents:UIControlEventTouchUpInside];

[self.pickerBackView addSubview:finshButton];

UIButton *disButton=[[UIButton alloc]initWithFrame:CGRectMake(10.0, 0.0, 50.0, 40)];

[disButton setTitle:@"取消" forState:UIControlStateNormal];

[disButton setTitleColor:selfBlueColor forState:UIControlStateNormal];

disButton.layer.cornerRadius=10;

[disButton addTarget:self action:@selector(tapActionClick1:) forControlEvents:UIControlEventTouchUpInside];

[self.pickerBackView addSubview:disButton];

//View上添加Button

self.pickerView = [[UIPickerView alloc]initWithFrame:CGRectMake(0.0,40.0, [UIScreen mainScreen].bounds.size.width, self.pickerBackView.frame.size.height-60)];

self.pickerView.delegate = self;

self.pickerView.dataSource = self;

self.pickerView.backgroundColor = [UIColor whiteColor];

[self.pickerBackView addSubview:self.pickerView];//pickerView添加到View上

[self.view addSubview:self.pickerBackView];

然后是pickerView的代理  跟TableView的代理很像  基本都一样

//多少列

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

{

return 2;//即有两个滚轮

}

//多少行

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component

{

  //component 可以看成tableView的section

  return 10;//每个滚轮有10行  如果不一样的行数  判断component 值 分别return就OK了

}

//自定义 每一个行样子

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{

UILabel* pickerLabel = (UILabel*)view;

if (!pickerLabel){

pickerLabel = [[UILabel alloc] init];

// Setup label properties - frame, font, colors etc

//adjustsFontSizeToFitWidth property to YES

pickerLabel.adjustsFontSizeToFitWidth = YES;

[pickerLabel setTextAlignment:NSTextAlignmentCenter];

[pickerLabel setBackgroundColor:[UIColor clearColor]];

[pickerLabel setFont:[UIFont systemFontOfSize:13]];

}

pickerLabel.text=[self pickerView:pickerView titleForRow:row forComponent:component];

return pickerLabel;

}

//每行显示的内容

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{

{

  可以看成cell的处理方法  但是 因为pickerView只有title所以   返回的只有字符串就OK了

  return string;

}

//滑动触发的方法

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component

 {   //这个是每一次滑动都会触发这个方法   但注意 如果只是打开pickerView  不会调用   只有滑动了之后才会触发  所以如果要处理第一次的默认传值 要自己注意

}

//动画   放在要调用pickerView的地方就行了   会从西面自动弹出   根据需求不同  随意更改

//弹出pickerView的简单动画

[UIView beginAnimations:nil context:nil];

[UIView setAnimationDuration:0.5];

self.pickerBackView.frame = CGRectMake(0.0, [UIScreen mainScreen].bounds.size.height-(256*SCREEN_HEIGHT/568), [UIScreen mainScreen].bounds.size.width, 256*SCREEN_HEIGHT/568);

[UIView commitAnimations];

[self.pickerView selectRow:0 inComponent:0 animated:NO];

//回收键盘

[UIView beginAnimations:nil context:nil];

[UIView setAnimationDuration:0.5];

self.pickerBackView.frame = CGRectMake(0.0, [UIScreen mainScreen].bounds.size.height, [UIScreen mainScreen].bounds.size.width, 226*SCREEN_HEIGHT/568);

[UIView commitAnimations];

没时间了 有时间详写

时间: 2024-08-02 18:58:32

UIPickerView 的简单应用的相关文章

UIPickerView的简单应用——省份/城市选择的实现

UIPickerView的简单应用--省份/城市选择的实现 实现效果如图,左边为省份选择,右边选择省份对应的城市 数据plist形式如图 工程下载地址:工程下载 https://github.com/Nongchaozhe/UIPickerView-Province-city UIPickerView的实现重要还是两个代理协议中方法的实现 - (void)viewDidLoad { [super viewDidLoad]; [self loadData]; _pickView = [[UIPic

iOS UIPickerView的简单实用

其实UIPickerView和UITableview的实现方法中,大致是相同的,就连作用都是一样的,只是运用在了不同的效果上而已,那么下面就记录几个方法就可以实现UIPickerView的效果: 1.设置UIPickerView的列 -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView; 2.设置UIPickerView 的行 -(NSInteger)pickerView:(UIPickerView *)pic

iOS UIPickerView的简单使用

UIPickerView控件在给 用户选择某些特定的数据时经常使用到,这里演示一个简单的选择数据,显示在UITextField输入框里,把UIPickerView作为输入 View,用Toolbar作为选定数据的按钮.和其他UITableView控件相似,UIPickerView也需要数据源. 我们要实现的效果如下: 下面开始使用的步骤. 1.打开XCode,新建一个Single View Application ,命名为PickerViewDemo,Company Identifier 为:c

UIPickerView简单应用——省份/城市选择实现

UIPickerView的简单应用--省份/城市选择的实现 实现效果如图,左边为省份选择,右边选择省份对应的城市 数据plist形式如图 工程下载地址:工程下载 https://github.com/Nongchaozhe/UIPickerView-Province-city UIPickerView的实现重要还是两个代理协议中方法的实现 - (void)viewDidLoad { [super viewDidLoad]; [self loadData]; _pickView = [[UIPic

iOS开发--UIDatePicker

UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期.时间和持续时长的输入.日期选取器的各列会按照指定的风格进行自动配置,这样就让开发者不必关心如何配置表盘这样的底层操作.你也可以对其进行定制,令其使用任何范围的日期. UIDatePicker 依赖于 NSDate 类,这个类是cocoa 基础的一员,以前用于桌面系统.本文中仅需用到 initWithString 来创建NSDate 所以NSDate 留待专题讲解,你只需

UIDatePicker 日期/时间选取器(滚轮)—IOS开发

UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期.时间和持续时长的输入.日期选取器的各列会按照指定的风格进行自动配置,这样就让开发者不必关心如何配置表盘这样的底层操作.你也可以对其进行定制,令其使用任何范围的日期. UIDatePicker 依赖于 NSDate 类,这个类是cocoa 基础的一员,以前用于桌面系统.本文中仅需用到 initWithString 来创建NSDate 所以NSDate 留待专题讲解,你只需

UIDatePicker日期/时间选取器的用法 与+NSDate和NSString的相互转换

 UIDatePicker日期/时间选取器 UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期.时间和持续时长的输入.日期选取器的各列会按照指定的风格进行自动配置,这样就让开发者不必关心如何配置表盘这样的底层操作.你也可以对其进行定制,令其使用任何范围的日期. UIDatePicker 依赖于 NSDate 类,这个类是cocoa 基础的一员,以前用于桌面系统.本文中仅需用到 initWithString 来创建NSDa

UIDatepicker 日期时间选取器(滚动)

UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期.时间和持续时长的输入.日期选取器的各列会按照指定的风格进行自动配置,这样就让开发者不必关心如何配置表盘这样的底层操作.你也可以对其进行定制,令其使用任何范围的日期. UIDatePicker 依赖于 NSDate 类,这个类是cocoa 基础的一员,以前用于桌面系统.本文中仅需用到 initWithString 来创建NSDate 所以NSDate 留待专题讲解,你只需

iOS开发——高级UI之OC篇&UIdatePicker&UIPickerView简单使用

UIdatePicker&UIPickerView简单使用 /***********************************************************************************/ 一:UIdatePicker:(日期控件) 1.UIDatePicker什么时候用? 当用户选择日期的时候,一般弹出一个UIDatePicker给用户选择. 2.UIDatePickerios6和ios7/8的区别 下面看看使用封装的代码怎么去实现它: 因为这个比较简