• 关于

    UIPickerView

    的搜索结果

问题

从feed获取充填UIPickerView

爵霸 2019-12-01 19:24:45 796 浏览量 回答数 1

问题

关于iOS开发,UIPickerView设置了datasource却不显示数据的问题,

爵霸 2019-12-01 20:22:48 1042 浏览量 回答数 1

回答

UIPickerView也是一个选择器控件,它比UIDatePicker更加通用,它可以生成单列的选择器,也可生成多列的选择器,而且开发者完全可以自定义选择项的外观,因此用法非常灵活。 UIPickerView直接继承了UIView,没有继承UIControl,因此,它不能像UIControl那样绑定事件处理方法,UIPickerView的事件处理由其委托对象完成。

杨冬芳 2019-12-02 03:01:20 0 浏览量 回答数 0

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

问题

选择器(UIPickerView)和UIDatePicker谁好

杨冬芳 2019-12-01 20:14:29 757 浏览量 回答数 1

问题

用UIPickerView 做一个两列的城市选择器,选择第一列之后,更新第二列数据时为什么会崩溃。

a123456678 2019-12-01 19:22:32 812 浏览量 回答数 2

回答

给你参考一下: import UIKit class ViewController: UIViewController,UIPickerViewDelegate, UIPickerViewDataSource { var pickerData : NSDictionary! var pickerProvincesData : NSArray! var pickerCitiesData : NSArray! @IBOutlet weak var pickerView1: UIPickerView! @IBOutlet weak var label1: UILabel! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. //读取省市资源信息 let plistPath = NSBundle.mainBundle().pathForResource("provinces_cities", ofType: "plist") let dict = NSDictionary(contentsOfFile: plistPath!) //全部数据 self.pickerData = dict //省份数据 self.pickerProvincesData = self.pickerData.allKeys //默认读取第一个省的所有市数据 let selectedProvince = self.pickerProvincesData[0] as! NSString self.pickerCitiesData = self.pickerData[selectedProvince] as! NSArray // self.pickerView1.dataSource = (self as! UIPickerViewDataSource) self.pickerView1.delegate = self } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } //选择器中拨轮的数目,省\市,就是2,若仅选择省就是1 func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int { return 2 } //实现DataSource方法,必须,否则编译无法通过。返回显示的数据源数量 func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { if(component == 0) { return self.pickerProvincesData.count } else { return self.pickerCitiesData.count } } //实现Delegate方法,根据row为索引,获取对应行的数据 func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! { if(component == 0) { return self.pickerProvincesData[row] as! String } else { return self.pickerCitiesData[row] as! String } } //选择省份后响应 func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { if(component == 0) { let selectedProvince = self.pickerProvincesData[row] as! String self.pickerCitiesData = self.pickerData[selectedProvince] as! NSArray self.pickerView1.reloadComponent(1) //切换省后,市默认选择第一项 //selectRow(row参数表示inComponent所索引代表列的第row行。列\行,顺序颠倒 pickerView1.selectRow(0, inComponent: 1, animated: true) } } //获取当前选择结果 @IBAction func onClick(sender: AnyObject) { let row1 = self.pickerView1.selectedRowInComponent(0) let row2 = self.pickerView1.selectedRowInComponent(1) let selected1 = self.pickerProvincesData[row1] as! String let selected2 = self.pickerCitiesData[row2] as! String let title = NSString(format : "%@%@", selected1, selected2) label1.text = title as String }

爵霸 2019-12-02 02:11:29 0 浏览量 回答数 0

回答

嗯不行,做不到。只能自己用UIPickerView实现个了。

a123456678 2019-12-02 03:14:49 0 浏览量 回答数 0

问题

UIPickerView如何让数据关联起来,swift语言

a123456678 2019-12-01 19:22:17 784 浏览量 回答数 1

问题

关于UIDataPicker的一个问题,设置为CountDownTimer以后改变右侧componet的row个数

杨冬芳 2019-12-01 20:10:42 762 浏览量 回答数 1

回答

问题解决了,和oc类似。在用UIPickerViewDelegate的时候有一个pickerView函数不是optional的,必须要写。如果需要使数据关联,还需要重载这个函数,原型是func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)剩下的和oc类似,再用swift语法完成就行了。最后需要调用pickview控件的reloadComponent()函数刷新内容

a123456678 2019-12-02 03:14:42 0 浏览量 回答数 0

问题

ios 开发中 如何判断哪些方法被系统自动调用

a123456678 2019-12-01 19:21:55 908 浏览量 回答数 1

回答

#import "NWHometownPicker.h" @interface NWHometownPicker () <UIPickerViewDataSource, UIPickerViewDelegate> @end @implementation NWHometownPicker { NSMutableArray *_hometownArray; } - (instancetype)init { self = [super init]; if (self) { self.dataSource = self; self.delegate = self; _hometownArray = [self hometownArray]; } return self; } - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { if (component == 0) { return [_hometownArray count]; } else { NSInteger row = [pickerView selectedRowInComponent:0]; NSDictionary *dict = [_hometownArray objectAtIndex:row]; NSArray *city = [dict objectForKey:@"city"]; return [city count]; } } - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { return 2; } - (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component { return 100; } - (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { if (component == 0) { NSDictionary *dict = [_hometownArray objectAtIndex:row]; NSString *province = [dict objectForKey:@"province"]; UILabel *thisLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 100, 40)]; thisLabel.text = province; return thisLabel; } else { NSDictionary *dict = [_hometownArray objectAtIndex:[pickerView selectedRowInComponent:0]]; NSArray *city = [dict objectForKey:@"city"]; UILabel *thisLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 100, 40)]; thisLabel.text = [city objectAtIndex:row]; return thisLabel; } } - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { if (component == 0) { [pickerView reloadComponent:1]; [pickerView selectRow:0 inComponent:1 animated:NO]; } NSDictionary *dict = [_hometownArray objectAtIndex:[pickerView selectedRowInComponent:0]]; NSString *province = [dict objectForKey:@"province"]; NSArray *city = [dict objectForKey:@"city"]; [self.hometownDelegate hometownPicker:self didSelectProvince:province city:[city objectAtIndex:[pickerView selectedRowInComponent:1]]]; } #pragma mark - (NSMutableArray *)hometownArray { NSArray *array = [NSArray arrayWithObjects: @[@"北京"], @"北京", @[@"天津"], @"天津", @[@"上海"], @"上海", @[@"重庆"], @"重庆", @[@"福州市", @"厦门市", @"莆田市", @"三明市", @"泉州市", @"漳州市", @"南平市", @"龙岩市", @"宁德市"], @"福建", @[@"石家庄市", @"唐山市", @"秦皇岛市", @"邯郸市", @"邢台市", @"保定市", @"张家口市", @"承德市", @"沧州市", @"廊坊市", @"衡水市"], @"河北", @[@"太原市", @"大同市", @"阳泉市", @"长治市", @"晋城市", @"朔州市", @"晋中市", @"运城市", @"忻州市", @"临汾市", @"吕梁市"], @"山西", @[@"呼和浩特市", @"包头市", @"乌海市", @"赤峰市", @"通辽市", @"鄂尔多斯市", @"呼伦贝尔市", @"巴彦淖尔市", @"乌兰察布市", @"兴安盟", @"锡林郭勒盟", @"阿拉善盟"], @"内蒙古", @[@"沈阳市", @"大连市", @"鞍山市", @"抚顺市", @"本溪市", @"丹东市", @"锦州市", @"营口市", @"阜新市", @"辽阳市", @"盘锦市", @"铁岭市", @"朝阳市", @"葫芦岛市"], @"辽宁", @[@"长春市", @"吉林市", @"四平市", @"辽源市", @"通化市", @"白山市", @"松原市", @"白城市", @"延边"], @"吉林", @[@"哈尔滨市", @"齐齐哈尔市", @"鸡西市", @"鹤岗市", @"双鸭山市", @"大庆市", @"伊春市", @"佳木斯市", @"七台河市", @"牡丹江市", @"黑河市", @"绥化市", @"大兴安岭地区"], @"黑龙江", @[@"南京市", @"无锡市", @"徐州市", @"常州市", @"苏州市", @"南通市", @"连云港市", @"淮安市", @"盐城市", @"扬州市", @"镇江市", @"泰州市", @"宿迁市"], @"江苏", @[@"杭州市", @"宁波市", @"温州市", @"嘉兴市", @"湖州市", @"绍兴市", @"金华市", @"衢州市", @"舟山市", @"台州市", @"丽水市"], @"浙江", @[@"合肥市", @"芜湖市", @"蚌埠市", @"淮南市", @"马鞍山市", @"淮北市", @"铜陵市", @"安庆市", @"黄山市", @"滁州市", @"阜阳市", @"宿州市", @"巢湖市", @"六安市", @"亳州市", @"池州市", @"宣城市"], @"安徽", @[@"南昌市", @"景德镇市", @"萍乡市", @"九江市", @"新余市", @"鹰潭市", @"赣州市", @"吉安市", @"宜春市", @"抚州市", @"上饶市"], @"江西", @[@"济南市", @"青岛市", @"淄博市", @"枣庄市", @"东营市", @"烟台市", @"潍坊市", @"济宁市", @"泰安市", @"威海市", @"日照市", @"莱芜市", @"临沂市", @"德州市", @"聊城市", @"滨州市", @"菏泽市"], @"山东", @[@"郑州市", @"开封市", @"洛阳市", @"平顶山市", @"安阳市", @"鹤壁市", @"新乡市", @"焦作市", @"济源市", @"濮阳市", @"许昌市", @"漯河市", @"三门峡市", @"南阳市", @"商丘市", @"信阳市", @"周口市", @"驻马店市"], @"河南", @[@"武汉市", @"黄石市", @"十堰市", @"宜昌市", @"襄樊市", @"鄂州市", @"荆门市", @"孝感市", @"荆州市", @"黄冈市", @"咸宁市", @"随州市", @"恩施",], @"湖北", @[@"长沙市", @"株洲市", @"湘潭市", @"衡阳市", @"邵阳市", @"岳阳市", @"常德市", @"张家界市", @"益阳市", @"郴州市", @"永州市", @"怀化市", @"娄底市", @"湘西"], @"湖南", @[@"广州市", @"韶关市", @"深圳市", @"珠海市", @"汕头市", @"佛山市", @"江门市", @"湛江市", @"茂名市", @"肇庆市", @"惠州市", @"梅州市", @"汕尾市", @"河源市", @"阳江市", @"清远市", @"东莞市", @"中山市", @"潮州市", @"揭阳市", @"云浮市"], @"广东", @[@"南宁市", @"柳州市", @"桂林市", @"梧州市", @"北海市", @"防城港市", @"钦州市", @"贵港市", @"玉林市", @"百色市", @"贺州市", @"河池市", @"来宾市", @"崇左市"], @"广西", @[@"成都市", @"自贡市", @"攀枝花市", @"泸州市", @"德阳市", @"绵阳市", @"广元市", @"遂宁市", @"内江市", @"乐山市", @"南充市", @"眉山市", @"宜宾市", @"广安市", @"达州市", @"雅安市", @"巴中市", @"资阳市", @"阿坝", @"甘孜", @"凉山"], @"四川", @[@"贵阳市", @"六盘水市", @"遵义市", @"安顺市", @"铜仁地区", @"毕节", @"黔西南", @"黔东南", @"黔南"], @"贵州", @[@"昆明市", @"曲靖市", @"玉溪市", @"保山市", @"昭通市", @"丽江市", @"思茅市", @"临沧市", @"楚雄", @"红河", @"文山", @"西双版纳", @"大理", @"德宏", @"迪庆"], @"云南", @[@"西安市", @"铜川市", @"宝鸡市", @"咸阳市", @"渭南市", @"延安市", @"汉中市", @"榆林市", @"安康市", @"商洛市"], @"陕西", @[@"兰州市", @"嘉峪关市", @"金昌市", @"白银市", @"天水市", @"武威市", @"张掖市", @"平凉市", @"酒泉市", @"庆阳市", @"定西市", @"陇南市", @"临夏", @"甘南"], @"甘肃", @[@"西宁市", @"海东地区", @"海北", @"黄南", @"海南", @"果洛", @"玉树", @"海西"], @"青海", @[@"银川市", @"石嘴山市", @"吴忠市", @"固原市", @"中卫市"], @"宁夏", @[@"拉萨市", @"昌都地区", @"山南", @"日喀则", @"那曲", @"阿里", @"林芝"], @"西藏", @[@"乌鲁木齐市", @"克拉玛依市", @"吐鲁番", @"哈密", @"昌吉", @"博尔塔拉", @"巴音郭楞", @"阿克苏", @"克孜勒苏", @"喀什", @"和田", @"伊犁", @"塔城", @"阿勒泰"], @"新疆", @[@"海口市", @"三亚市", @"三沙市"], @"海南", @[@"台北市", @"高雄市", @"基隆市", @"台中市", @"台南市", @"新竹市", @"嘉义市"], @"台湾", @[@"香港"], @"香港", @[@"澳门"], @"澳门", nil]; NSMutableArray *result = [NSMutableArray new]; NSInteger i = 0; while (i < [array count]) { NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys: [array objectAtIndex:i], @"city", [array objectAtIndex:i+1], @"province", nil]; [result addObject:dict]; i = i + 2; } return result; } @end

a123456678 2019-12-02 03:14:59 0 浏览量 回答数 0

回答

你好, 1、创建工程项目,新建一个UIViewController; 2、选中工程,右键-New File…选择“Cocoa Touch Class”-Next,给个合理的名称ViewController,再Next完成; 3、在AppDelegate.m文件包含#import "ViewController.h"; 4、初始化创建ViewController的视图控制器,并用导航栏控制器包含。将之设置为根视图控制器。 创建UIDatePicker及添加代理 1、在ViewController.h创建UIPickerView。 2、在ViewController.m初始化self.pickerView; 3、将self.pickerView添加至视图; 4、为self.pickerView添加监听事件(条件:UIControlEventValueChanged值被改变时执行调用); 5、实现监听事件方法。 至此,已经完成了一般创建、初始化、调用这些基本方法。 UIDatePicker设置显示格式 1、设置中文显示需要获取当前区域化设置NSLocale; 2、创建并初始化NSLocale,initWithLocaleIdentifier为@"zh_CN"; 3、将self.datePicker.locale属性set为NSLocale的值; 4、设置12/24小时制是根据手机本身时间显示。 设置UIDatePicker起始时间和最远时间 1、时间的选择范围限制使用的计算方法:格里高利历; 2、创建并初始化NSCalendar,initWithCalendarIdentifier为NSGregorianCalendar; 3、创建并初始化NSDateComponents作为时间偏差; 4、设置时间偏差offsetComponents; 5、利用格里高利历方法计算偏差后的日期时间; 6、设置self.datePicker的minimumDate属性为当前时间,maximumDate属性为偏差后的时间。 将选择的UIDatePicker时间按格式打印输出 1、在ViewController.h创建显示日期时间的UILabel; 2、在ViewController.m初始化UILabel并添加到视图中; 3、在响应事件方法中添加日期时间转换为NSString格式代码; 4、打印转换结果并显示到UILabel中。 答案来源网络,供您参考

养狐狸的猫 2019-12-02 02:14:35 0 浏览量 回答数 0

回答

你好, 1、创建工程项目,新建一个UIViewController; 2、选中工程,右键-New File…选择“Cocoa Touch Class”-Next,给个合理的名称ViewController,再Next完成; 3、在AppDelegate.m文件包含#import "ViewController.h"; 4、初始化创建ViewController的视图控制器,并用导航栏控制器包含。将之设置为根视图控制器。 创建UIDatePicker及添加代理 1、在ViewController.h创建UIPickerView。 2、在ViewController.m初始化self.pickerView; 3、将self.pickerView添加至视图; 4、为self.pickerView添加监听事件(条件:UIControlEventValueChanged值被改变时执行调用); 5、实现监听事件方法。 至此,已经完成了一般创建、初始化、调用这些基本方法。 UIDatePicker设置显示格式 1、设置中文显示需要获取当前区域化设置NSLocale; 2、创建并初始化NSLocale,initWithLocaleIdentifier为@"zh_CN"; 3、将self.datePicker.locale属性set为NSLocale的值; 4、设置12/24小时制是根据手机本身时间显示。 设置UIDatePicker起始时间和最远时间 1、时间的选择范围限制使用的计算方法:格里高利历; 2、创建并初始化NSCalendar,initWithCalendarIdentifier为NSGregorianCalendar; 3、创建并初始化NSDateComponents作为时间偏差; 4、设置时间偏差offsetComponents; 5、利用格里高利历方法计算偏差后的日期时间; 6、设置self.datePicker的minimumDate属性为当前时间,maximumDate属性为偏差后的时间。 将选择的UIDatePicker时间按格式打印输出 1、在ViewController.h创建显示日期时间的UILabel; 2、在ViewController.m初始化UILabel并添加到视图中; 3、在响应事件方法中添加日期时间转换为NSString格式代码; 4、打印转换结果并显示到UILabel中。 答案来源网络,供您参考

问问小秘 2019-12-02 02:13:07 0 浏览量 回答数 0

问题

【iOS学习全家桶】190道iOS热门问题,阿里百位技术专家答疑解惑

管理贝贝 2019-12-01 20:07:23 5197 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站