文档章节

UIPickerView 使用

Jack088
 Jack088
发布于 2015/09/29 09:45
字数 385
阅读 103
收藏 0
//初始化 pickerView
-(void)initPickerView{
    pickerArray = [NSArray arrayWithObjects:@"顺丰",@"申通",@"韵达",@"圆通",@"天天",@"全峰",@"中通",@"百世汇通", nil];
    logisticsPicker = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 568, 320, 180)];
    logisticsPicker.delegate = self; //绑定事件
    logisticsPicker.dataSource = self; //绑定数据元
    [logisticsPicker setBackgroundColor:[UIColor whiteColor]]; 
    [self.view addSubview:logisticsPicker];
    [self.view bringSubviewToFront:logisticsPicker];//将视图放置最前面
}
//每行显示的个数
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
    return 1;
}
//显示多少行
-(NSInteger) pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
    return [pickerArray count];
}
//每行显示的标题名称
-(NSString*) pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
    return [pickerArray objectAtIndex:row];
}

//点击空白隐藏键盘
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    [self.view endEditing:YES];
    [self inView];
}
//设置隐藏动画
- (void)popView {
    CGContextRef context = UIGraphicsGetCurrentContext();
    [UIView beginAnimations:nil context:context];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationDuration:0.6];//动画时间长度,单位秒,浮点数
    [self.view exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
    self.logisticsPicker.frame = CGRectMake(0, 400, 320, 180);
    
    [UIView setAnimationDelegate:self];
    // 动画完毕后调用animationFinished
//    [UIView setAnimationDidStopSelector:@selector(animationFinished)];
    [UIView commitAnimations];
}
//设置弹出动画
- (void)inView {
    CGContextRef context = UIGraphicsGetCurrentContext();
    [UIView beginAnimations:nil context:context];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationDuration:0.6];//动画时间长度,单位秒,浮点数
    self.logisticsPicker.frame = CGRectMake(0, 568, 320, 180);
    
    [UIView setAnimationDelegate:self];
    // 动画完毕后调用animationFinished
//    [UIView setAnimationDidStopSelector:@selector(animationFinished)];
    [UIView commitAnimations];
}
-(void)animationFinished{
    NSLog(@"动画结束!");
}
//绑定 页面点击事件
-(IBAction)logisticsPickerBtn:(id)sender{
    if(lpEntity){
        [self.view endEditing:YES];
        [self popView];
    }else{
        chvc = [[CalendarHomeViewController alloc]init];
        chvc.calendartitle = @"出行日期";
        [chvc setAirPlaneToDay:365 ToDateforString:nil];//飞机初始化方法
        chvc.calendarblock = ^(CalendarDayModel *model){
            logisticsName.text = [model toString];
        };
        [self.navigationController pushViewController:chvc animated:YES];
    }
}
//当你选中 pickerview 的某行时会调用该函数。
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
    NSLog(@"You select row %ld",(long)row);
    logisticsName.text = [pickerArray objectAtIndex:row];
}

ps:这是我个人使用时用的,个人可根据自己的需求实际开发相关功能。



© 著作权归作者所有

上一篇: IOS UIAlertView
Jack088
粉丝 45
博文 562
码字总数 90026
作品 0
扬州
程序员
私信 提问
iOS选择器视图控件(UIPickerView)使用方法总结

iOS中UIPickerView使用总结 UIPickerView是iOS中的原生选择器控件,使用方便,用法简单,效果漂亮。 @property(nonatomic,assign) id<UIPickerViewDataSource> dataSource; @property(nonat......

珲少
2015/06/10
603
0
UIPickerView基本使用

UIPickerView是很常用的一个UI控件,在各种购物平台选择地址时候都是必备的,下面我们来说一下具体的使用 首先UIPickerView的创建,与多数控件一样,分配内存并设置位置尺寸。 重要的的是代理...

iosMrLi
05/02
0
0
疯狂ios讲义之选择器(UIPickerView)

UIPickerView也是一个选择器控件,它比UIDatePicker更加通用,它可以生成单列的选择器,也可生成多列的选择器,而且开发者完全可以自定义选择项的外观,因此用法非常灵活。 UIPickerView直接...

博文视点
2014/01/24
5.7K
1
UIPickerView 替换键盘,当调用[textfield resignFirstResponce] 的时候程序就崩溃了

代码: -(void)addPickerView { UIPickerView *pickView = [[UIPickerView alloc]init]; pickView.delegate = self; self.categoryFiled.inputView = pickView; } #pragma mark PickerView代......

morningXi
2015/10/06
196
0
UIPickerview循环滚动

(NSInteger)numberOfComponentsInPickerView:(UIPickerView )pickerView { return 1; } - (NSInteger)pickerView:(UIPickerView )pickerView numberOfRowsInComponent:(NSInteger)component ......

我爱觉觉
2015/11/09
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

创龙基于TI TMS320C6748(定点/浮点DSP C674x) + Xilinx Spartan-6 FPGA处理器规格书

由广州创龙自主研发的SOM-TL6748F核心板是一款定点/浮点DSP C674x + Xilinx Spartan-6 FPGA工业级双核核心板,66mm*38.6mm,功耗小、成本低、性价比高。采用沉金无铅工艺的8层板设计,专业的...

Tronlong创龙
26分钟前
6
0
DataV教你如何给可视化应用一键美颜

如果你平时经常接触数据统计、数据展示和决策分析,相信你对DataV一定有所了解。DataV作为一站式实时数据可视化应用搭建工具,拥有图形化、拖拽式、近乎零代码的使用体验,能帮助大家轻松搭建...

阿里云官方博客
29分钟前
6
0
Apache Flink 1.9.0版本新功能介绍

摘要:Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时,提供支持流处理和批处理两种类型应用的功能。目前,Apache Flink 1.9.0版本已经...

大涛学长
29分钟前
7
0
网站变成灰色CSS代码

为方便站点哀悼,特提供css滤镜代码,以表哀悼。以下为全站CSS代码。 [css]html { filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); }[/css] 使 用方法:这段代码可以变网...

前端老手
35分钟前
4
0
bootstrap4

临时接手个bootstrap4的项目 ,作下笔记 一.栅格系统 相对于原来的bs3,bs4具有了范围更大的适应区间.在过去的bs3中的xs sm md lg 中,bs4又增加了一个xl这个区间,为超大屏幕做出了适应。  ...

东东笔记
35分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部