当前位置: 首页 > news >正文

永康网站建设服务郑州 服装 网站建设

永康网站建设服务,郑州 服装 网站建设,建网站维护需要多少钱,佛山厂家推广优化【iOS控件】—— UIPickerView的使用 一. 简述UIPickerView1. 什么是UIPickerView2. UIPickerView遵守的协议 二. 测试Demo三. 总结 一. 简述UIPickerView 先看一下UIPickerView的效果图#xff1a; 1. 什么是UIPickerView UIPickerView是iOS平台上的一个用户界面元素 1. 什么是UIPickerView UIPickerView是iOS平台上的一个用户界面元素用于在应用程序中显示和选择多个选项中的一个。它通常以类似于滚轮的形式呈现允许用户通过滑动手势来选择列表中的项目UIPickerView由一个或多个组件Component组成每个组件都表示一个独立的选项列表。每个组件可以包含多个行Row每一行代表一个具体的选项。用户可以通过滑动每个组件的滚轮来选择特定的行。 2. UIPickerView遵守的协议 UIPickerView需要遵守两个基础的协议。 #import UIKit/UIKit.hinterface ViewController : UIViewController UIPickerViewDelegate, UIPickerViewDataSourceend UIPickerViewDataSource 此协议中有两个必须实现的方法 分别是设置选择器的行和列数。 //表示有几列 - (NSInteger) numberOfComponentsInPickerView:(UIPickerView *)pickerView {return 3;}//每一列中有几个格子 - (NSInteger) pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {if (component 0) {return self.directionArray.count;} else if (component 1) {return self.curentNameArray.count;} else {return 1;} }UIPickerViewDeleagate: 有以下方法 //返回UIPickerView中Component列的宽度- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component;//返回UIPickerView中Component列中每行的高度- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component;//当选择某一项Component列中的row行时的回调函数- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component//标准的UIPickerView内容只有字符串- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;//自定义的UIPickerView内容给每个列行设置一个UIView对象- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view;//这里列为component,行row返回一个UIView用来显示在UIPickerView中。reusingView:(UIView *) 刷新数据的方法 - (void)reloadAllComponents; - (void)reloadComponent:(NSInteger)component; 二. 测试Demo 以上都是一些基础的概念性的东西接下来通过一个Demo来实现一下上面的功能。 首先要先定义一个UIPickerView的视图然后进行初始化。 interface ViewController ()property (nonatomic, copy) NSArray* directionArray; property (nonatomic, copy) NSArray* curentNameArray; property (nonatomic, copy) NSArray* nameArray1; property (nonatomic, copy) NSArray* nameArray2; property (nonatomic, copy) NSArray* nameArray3; property (nonatomic, copy) NSArray* nameArray4; property (nonatomic, copy) NSArray* nameArray5; property (nonatomic, copy) NSArray* nameArray6;property (nonatomic, copy) NSArray* Dict; property (nonatomic, copy) NSArray* endArray; property (nonatomic, copy) NSString* currentEndString;property (nonatomic, strong) UIPickerView* pickerView;end然后对这些数组进行初始化并且初始化UIPickerView。 [self loadDate];self.pickerView [[UIPickerView alloc] initWithFrame:CGRectMake(0, 200, [UIScreen mainScreen].bounds.size.width, 200)];self.pickerView.delegate self;self.pickerView.dataSource self;[self.view addSubview:self.pickerView];- (void) loadDate {self.directionArray [陕西, 山西, 重庆, 河南, 湖北, 四川];self.nameArray1 [西安, 榆林, 咸阳, 宝鸡, 延安, 渭南];self.nameArray2 [太原, 长治, 吕梁, 晋城, 运城, 临汾];self.nameArray3 [重庆, 涪陵, 万州, 永州, 江津, 长寿];self.nameArray4 [郑州, 洛阳, 南阳, 许昌, 周口, 新乡];self.nameArray5 [武汉, 襄阳, 宜昌, 荆州, 荆门, 黄石];self.nameArray6 [成都, 绵阳, 南充, 宜宾, 泸州, 达州];self.endArray [秦, 晋, 巴, 韩, 楚, 蜀];self.Dict [self.nameArray1, self.nameArray2, self.nameArray3, self.nameArray4, self.nameArray5, self.nameArray6];self.curentNameArray self.Dict[0];self.currentEndString self.endArray[0];}然后实现必须的方法以及你需要的方法 //表示有几列 - (NSInteger) numberOfComponentsInPickerView:(UIPickerView *)pickerView {return 3;}//每一列中有几个格子 - (NSInteger) pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {if (component 0) {return self.directionArray.count;} else if (component 1) {return self.curentNameArray.count;} else {return 1;} }// 滑动触发事件 - (void) pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {// 使用一个UIAlertView来显示用户选中的列表项if (component 0) {self.curentNameArray self.Dict[row];self.currentEndString self.endArray[row];[self.pickerView reloadComponent:1];[self.pickerView reloadComponent:2];//这个方法的selectRow即可以表示你更新第一个列表之后是否更新到第二个列表的对应的row// BOOL类型的YES表示动画效果[self.pickerView selectRow:0 inComponent:1 animated:YES];[self.pickerView selectRow:0 inComponent:2 animated:YES];NSLog(选择了%方向,self.directionArray[row]);} else {NSLog(%, self.curentNameArray[row]);}}// 返回列表的内容 - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {if (component 0) {return self.directionArray[row];} else if (component 1){return self.curentNameArray[row];} else {return self.currentEndString;} } // 返回列表的宽度 - (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component {return 130;} 三. 总结 UIPickerView使用滚轮形式展示选项用户可以通过滑动手势来选择这种交互方式直观且易于使用可以显示多个选项但只占用有限的屏幕空间适用于在有限的界面空间中提供大量选项选择的情况。但是仍然有缺点由于UIPickerView一次只显示有限数量的选项对于包含大量选项的情况可能会导致用户需要频繁滚动和选择不太方便。
http://www.sadfv.cn/news/117170/

相关文章:

  • 韩国风格网站模板下载云主机网站
  • 网泰网站建设网络大连开发区网页制作
  • wordpress相对地址宜昌网站推广优化技巧
  • 小企业公司网站怎么建无锡seo网站推广
  • 云服务器做网站好吗江阴网站优化公司
  • html网站建设中源代码官方网站建设报价表
  • 做网站1万多块钱wordpress站长地图
  • 网站建设服务器租用网站平台建设做好公司宣传
  • 网站建设合同2018西安官网优化公司
  • 房产网站管理系统开通公众号的流程
  • 芜湖app开发郑州企业网站优化
  • 网站做sem优化诸城手机网站建设
  • 一个服务器可以备案几个网站济宁网站建设专业定制
  • 注册网站域名需要什么资料医疗器械评价一个网站设计的好坏
  • 绵阳住房和城乡建设局网站鹰潭市城乡建设局网站
  • 网站欢迎界面源码网络舆情监测与研判
  • 免费gif动图在线制作网站泰安大众网
  • 红河州住房和建设局网站平凉网站设计
  • 有代做统计图的网站吗快速排名优化推广排名
  • 自己做的网站怎么让别人访问金戈枸橼酸西地那非
  • 合肥网站建站推广做kegg的网站
  • 自己做的网站如何加视频教程广安公司网站建设
  • 盐城市住房和城乡建设局门户网站淄博网站建设同圈科技
  • 上海营销网站制作目前最好的网站建设企业
  • 注册 网站开发 公司广东网站建设十大品牌
  • 手机网站404页面模板辽宁工程信息招标网
  • 视频推广计划seo案例分析及解析
  • 网站ppt缩略图海南新闻在线新闻中心
  • 厦门做网站维护的公司自己做的网站怎么设置关键词
  • soho做网站多少钱优化软件seo排名