IOS 拾取器控件

  拾取器是个常用控件。

  在使用拾取器之前需要引用两个协议   <UIPickerViewDataSource,UIPickerViewDelegate>

      还需要连接  datesource & delegate  

  调用协议后,需要重写三个方法

  -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView     这个方法返回拾取器的 个数。

  -(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component  这个方法返回任意一个拾取器的 数值串

    if(component==0)

  {

  return array_1.count;

  }

  else

  {

  return array_2.count;

  }

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component    这个方法返回  任意一个数值串的个数

  

if(component==0)

{

return array_1.count;

}

else

{

return array_2.count;

}

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

{

if(component==0)

{

NSString *select=[self.array_1 objectAtIndex:row];

self.array_2=[self.date objectForKey:select];

[self.picker reloadComponent:1];     //reloadComponet 方法 可以重新刷新 拾取器

}

}

拾取器的数据可以从 p li s t文件里取出

选择数组

选择数组类型。

  NSBundle * bundle=[NSBundle mainBundle];//得到一个bundle;

NSString * plistPath=[bundle pathForResource:@"List" ofType:@"plist"];//获取路径

NSDictionary *dic=[[NSDictionary alloc ]initWithContentsOfFile: plistPath]; //通过路径获取到一个字典

self.date=dic;

NSArray *array=[self.date allKeys];  //获取所有键

NSArray *sorted=[array sortedArrayUsingSelector:@selector(compare:)];

self.array_1=sorted;

NSString *select_1=[self.array_1 objectAtIndex:0];  //获取第一个字符段

NSArray *col2=[self.date objectForKey:select_1];

self.array_2=col2;

把plist文件里的数据放到一个 字典里。然后通过字典给拾取器赋值。

时间: 2024-10-10 05:58:12

IOS 拾取器控件的相关文章

前端心得---仿IOS拾取器控件(转轮控件)

希望做一个类似IOS拾取器的控件,在IOS上该控件的效果是这样的:,我也把该效果称之为为轮子效果. 要实现这个效果,能够用到的技术点非常简单,无非是transform的translate3d和rotate,不过要想很好的实现,还要建立一个精确的数学模型,来解决如何[摆放]的问题.特别是这个效果不是静态的,需要满足鼠标滑动的时,这个轮子要转起来,这就需要仔细思索了.当然,在最开始重点还是要搞清楚自变量是什么.因变量是什么.它们之间的关系是什么以及该需求的一些性质.找到了好的性质,可以减轻工作量,并

IOS的segmentedControl(分段器控件)的一些常用属性

#pragma mark - 创建不同的分段器 //初始化方法:传入的数组可以是字符串也可以是UIImage对象的图片数组 UISegmentedControl *mysegmented = [[UISegmentedControl alloc] initWithItems:@[@"左边",@"我是中间",@"右边"]]; mysegmented.frame = CGRectMake(50, 200, kScreenWidth-100, 40);

无比迅速敏捷地开发IOS超精美控件

目录 前言 设计 编码 PaintCode 前言 自从人生第一篇博客<IOS中的预编译指令的初步探究>问世以来 浏览量竟然达到了360多,(路过的大神勿笑!)这些浏览量使我兴奋异常但又令我黯然神伤,为何我会眼里常含泪水?因为国人伸手党达90%!!!区区只有可怜的三个评论,可怜的三个评论~ 没有鼓励~ 没有鲜花~ 也没有谩骂~ 但是我不哭 因为贱人会笑!我深信: 一日伸手党,bug终身随! 好久没打篮球了,“教练,我想打篮球”. 这次的东西标题为<无比迅速敏捷地开发IOS超精美控件>

使用VideoView自定义一个播放器控件

介绍 最近要使用播放器做一个简单的视频播放功能,开始学习VideoView,在横竖屏切换的时候碰到了点麻烦,不过在查阅资料后总算是解决了.在写VideoView播放视频时候定义控制的代码全写在Actvity里了,写完一看我靠代码好乱,于是就写了个自定义的播放器控件,支持指定大小,可以横竖屏切换,手动左右滑动快进快退.好了,下面开始. 效果图 效果图有点卡,我也不知道为啥..... VideoView介绍 这个是我们实现视频播放最主要的控件,详细的介绍大家百度就去看,这里介绍几个常用的方法. 用于

拆分器控件Splitcontainer

拆分器控件Splitcontainer ,是一个含有Splitter拆分条的容器,它包含两个面板容器Panel1,Panel2,可以移动拆分条,对面板大小进行控制! 控件学习示例程序! 属性介绍; //拆分条的是否启用禁用bool IsSplitterFixed{get;set;} bool类型,true:不能调节拆分条; false :能够使用拆分条.决定是否可以通过键盘或鼠标来移动拆分器. //拆分器的方向:垂直和水平方向上拆分控件,上下和左右两块面板Orientation Orientat

ios UILabel(label控件)的详细使用及特殊效果

UILabel *label = [[UILabelalloc] initWithFrame:CGRectMake(0, 0, 75, 40)];   //声明UIlbel并指定其位置和长宽 label.backgroundColor = [UIColorclearColor];   //设置label的背景色,这里设置为透明色. label.font = [UIFont fontWithName:@"Helvetica-Bold" size:13];   //设置label的字体和字

IOS开发 UIView控件

1.万物皆对象 2.LBS:基于位置的服务(热门) 3.在启动XCODE创建项目的时候最好勾选 git 4.在SB界面中更改UILabel 之类的控件里面的内容,控件的frame会随着内容的大小而改变,但是在右侧的属性栏里面更改则不会影响frame 5.IBAction:SB界面原来叫Interface Builder 缩写为IB, 6.M_PI_4  代表45°  以此类推 // OC语法规定:不允许直接修改 某个对象中结构体属性的成员 ? 1 2 3 4 5 6 7 8 // 1.先取出fr

ios ios7 取消控件往上移

//判断是否为ios7 取消控件往上移 if ([[UIDevice currentDevice].systemVersion doubleValue] >= 7.0) { self.edgesForExtendedLayout = UIRectEdgeNone; } ios ios7 取消控件往上移

IOS UIStepper(步进控件)使用总结

IOS中步进控件的简单使用 初始化控件 UIStepper * step = [[UIStepper alloc]initWithFrame:CGRectMake(100, 100, 100, 100)]; 设置控制器值是否连续触发变化 @property(nonatomic,getter=isContinuous) BOOL continuous; 若设置为YES,则长按会连续触发变化,若设置为NO,只有在按击结束后,才会触发. 设置长按是否一直触发变化 @property(nonatomic