怎么用pickview实现三个component关联的效果

马天绪 2024-05-26 13:47:03
最佳回答
uipickerviewdatasource协议里面有个方法.numberofcomponentsinpickerview,这个方法返回uipickerview需要多少个组件。 其相关性实现如下:@implementation fkviewcontrollernsdictionary* books;nsarray* authors;// selectedauthor保存当前选中的作者nsstring*selectedauthor;- (void)viewdidload{[super viewdidload];// 创建并初始化nsdictionary对象books = [nsdictionary dictionarywithobjectsandkeys: [nsarrayarraywithobjects:@\\\\\\\\\\\\\\\"飞鸟集\\\\\\\\\\\\\\\", @\\\\\\\\\\\\\\\"吉檀迦利\\\\\\\\\\\\\\\", nil] , @\\\\\\\\\\\\\\\"泰戈尔\\\\\\\\\\\\\\\", [nsarrayarraywithobjects:@\\\\\\\\\\\\\\\"醒世恒言\\\\\\\\\\\\\\\",@\\\\\\\\\\\\\\\"喻世明言\\\\\\\\\\\\\\\" , @\\\\\\\\\\\\\\\"警世通言\\\\\\\\\\\\\\\", nil] , @\\\\\\\\\\\\\\\"冯梦龙\\\\\\\\\\\\\\\", [nsarrayarraywithobjects:@\\\\\\\\\\\\\\\"疯狂android讲义\\\\\\\\\\\\\\\", @\\\\\\\\\\\\\\\"疯狂ios讲义\\\\\\\\\\\\\\\", @\\\\\\\\\\\\\\\"疯狂ajax讲义\\\\\\\\\\\\\\\" , @\\\\\\\\\\\\\\\"疯狂xml讲义\\\\\\\\\\\\\\\", nil] , @\\\\\\\\\\\\\\\"李刚\\\\\\\\\\\\\\\" ,nil];// 使用authors保存books所有key组成的nsarray排序后的结果authors = [[books allkeys] sortedarrayusingselector:@selector(compare:)];// 设置默认选中的作者authors中的第一个元素selectedauthor = [authors objectatindex:0];self.picker.datasource = self;self.picker.delegate = self;}//uipickerviewdatasource中定义的方法,该方法的返回值决定该控件包含多少列-(nsinteger)numberofcomponentsinpickerview:(uipickerview*)pickerview{return 2; // 返回2表明该控件只包含2列}//uipickerviewdatasource中定义的方法,该方法的返回值决定该控件指定列包含多少个列表项-(nsinteger)pickerview:(uipickerview *)pickerviewnumberofrowsincomponent:(nsinteger)component{// 如果是第一列,返回authors中元素的个数// 即authors包含多少个元素,第一列包含多少个列表项if (component == 0) {return authors.count;}// 如果是其他列(只有第二列),// 返回books中selectedauthor对应的nsarray中元素的个数return [[booksobjectforkey:selectedauthor] count];}// uipickerviewdelegate中定义的方法,该方法返回的nsstring将作为// uipickerview中指定列和列表项上显示的标题- (nsstring*)pickerview:(uipickerview *)pickerview titleforrow:(nsinteger)row forcomponent:(nsinteger)component{// 如果是第一列,返回authors中row索引处的元素// 即第一列的元素由authors集合元素决定if (component == 0) {return [authors objectatindex:row];}// 如果是其他列(只有第二列),// 返回books中selectedauthor对应的nsarray中row索引处的元素return [[booksobjectforkey:selectedauthor] objectatindex:row];}// 当用户选中uipickerviewdatasource中指定列和列表项时激发该方法-(void)pickerview:(uipickerview *)pickerview didselectrow:(nsinteger)row incomponent:(nsinteger)component{if(component == 0){// 改变被选中的作者selectedauthor = [authors objectatindex:row];// 控制重写加载第二个列表,根据选中的作者来加载第二个列表[self.picker reloadcomponent:1];}nsarray* tmp = component== 0 ? authors:[books objectforkey:selectedauthor];nsstring* tip = component == 0 ? @\\\\\\\\\\\\\\\"作者\\\\\\\\\\\\\\\": @\\\\\\\\\\\\\\\"图书\\\\\\\\\\\\\\\";// 使用一个uialertview来显示用户选中的列表项uialertview* alert = [[uialertview alloc]initwithtitle:@\\\\\\\\\\\\\\\"提示\\\\\\\\\\\\\\\"**:[nsstring stringwithformat:@\\\\\\\\\\\\\\\"你选中的%@是:%@,\\\\\\\\\\\\\\\", tip , [tmp objectatindex:row]]delegate:nilcancelbuttontitle:@\\\\\\\\\\\\\\\"确定\\\\\\\\\\\\\\\"otherbuttontitles:nil];[alert show];}// uipickerviewdelegate中定义的方法,该方法返回的nsstring将作为// uipickerview中指定列的宽度-(cgfloat)pickerview:(uipickerview *)pickerview widthforcomponent:(nsinteger)component{// 如果是第一列,宽度为90if (component == 0) {return 90;}return 210; // 如果是其他列(只有第二列),宽度为210}@end 20210311
汇率兑换计算器

类似问答
  • 实创装潢公司装修效果怎么样
    • 2024-05-26 01:18:49
    • 提问者: 未知
    实创装饰工程有限公司是一家具备*设计与施工资质,以家装为主,涉足工装、家具等相关产业的品牌装饰企业,公司曾多次荣获“**十大著名装饰企业“、“北京十大诚信装饰...
  • hololens 的实际效果如何?
    • 2024-05-26 15:21:53
    • 提问者: 未知
    前两天刚刚试用了一下hololens.也来做个点评。按操作顺序讲下感受。1.带上那会觉得这个设备还是有点重量…
  • 福建中福实业股份有限公司的无效关联
    • 2024-05-26 10:08:44
    • 提问者: 未知
    担保责任承担的司法救济及反思,关于上市公司关联担保责任的承担,不仅是审查担保合同的效力的延续,更是法律后果的最终实现。它实际上包含了以下几个问题:担保人在什么情形下承担赔偿责任?承担赔偿责任的份额如何确定?担保人与债权人、债务人的责任比例如何确认?担保人在承担责任后能否...
  • 〓关于l/c实务的三个问题〓
    • 2024-05-26 09:27:52
    • 提问者: 未知
    1.不可以,没收到正式l/c 不能掉以轻心。2.正常。看你客户在哪个**,有的是需要3-6天才能收到的,再由国内银行寄到你们公司,是需要点时间。建议去银行查一下,或者是银行不知道你们公司电话,地址也有可能。3.受益人指出的合理费用,即单据费。
  • 信用联结**的相关实例
    • 2024-05-26 07:24:27
    • 提问者: 未知
    展开全部(1)spv的购买者向spv的发行者购买spv;(2)spv的发行者用发行spv的收入购买安全性资产;(3)spv的发行者同有信用风险对冲需求的机构(银行)签订“纯粹”的信用互换合约;(4)spv的发行者向spv的购买者支付安全性资产的利息以及一部分从银行收取的费用;(5)spv的购买者向银行间接提供...
  • 安瓶怎么用才能效果100%?
    • 2024-05-26 08:51:53
    • 提问者: 未知
    传说中能“一夜回春”的安瓶有多好用?希望有人帮忙解答一下,谢谢了
  • 小三房装修的效果会怎样呢?
    • 2024-05-26 10:58:09
    • 提问者: 未知
    卧室延续了全屋的白色基调,整体看上去整洁而舒适。白色的墙面上挂上这样一幅灰蓝色挂画既避免了墙面的空白感还增加了室内的生活趣味,而且挂画的用色与床品选搭相呼应,...
  • 如何在web上实现实时股票行情一样的效果 0
    • 2024-05-26 02:39:55
    • 提问者: 未知
    个人用吗?记得申万宏达、光大证券都有web版的看盘系统,你到他们的官网上看一下吧。如果是自己需要开发,这个是利用ajax技术,后台访问专门的api接口,例如微盛的实时行情api接口,api接口会返回实时行情,然后web前端将实时行情展示出来,就可实现股票软件中一样的效果了。
  • 为什么很多实体门店,做异业联盟做不起来,没效果?
    • 2024-05-26 02:50:37
    • 提问者: 未知
    为什么很多实体门店,做异业联盟做不起来,没效果?先看一个实例:张老板是开酒店的,客房108间,每年能赢利180...王老板是开饭店的,主营淮扬菜系,:-异业,门店,实体,联盟
  • **的实际效果怎么样?
    • 2024-05-26 01:45:08
    • 提问者: 未知
    李佳琪直播间里入的,佰草集也是老牌国货了,之前用过它的水乳,见不得李佳琪一句omg就入手了!...自从它消了我满脸的痘印,我的肌肉一下子成了让姑娘们拜倒在我牛仔裤下的...
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。