使用UIPickerView实现简单的城市选择器

使用UIPickerView实现简单的城市选择器,第1张

概述UIPickerView是apple提供的选择器控件,可以根据业务需求生成单列或多列的选择器. 下面举例实现一个”省份-城市”联动的两列选择器. 查看源码(oc+swift) 效果图 数据源格式 因为只是一个简单的示例,所以在网上随便找了一个plist文件,数据格式截图如下: 实现思路 与UITableView一样,UIPickerView需要开发者实现其UIPickerViewDataSourc

UIPickerVIEw是apple提供的选择器控件,可以根据业务需求生成单列或多列的选择器.
下面举例实现一个”省份-城市”联动的两列选择器.

查看源码(oc+swift)

效果图 数据源格式

因为只是一个简单的示例,所以在网上随便找了一个pList文件,数据格式截图如下:

实现思路

与UItableVIEw一样,UIPickerVIEw需要开发者实现其UIPickerVIEwDataSourceUIPickerVIEwDelegate协议.

UIPickerVIEwDataSource

UIPickerVIEwDataSource包含两个必须要实现的数据源方法numberOfComponentsInPickerVIEwnumberOfRowsInComponent,分别用来告诉系统我们实现的选择器有几列,每一列又有多少行.

由于我们要实现的是省份-城市二级联动效果,所以在第一个方法中返回2,而针对每一个省份对应着不同的城市,当滚动第一列省份列表时,第二列的城市列表要对应刷新,所以我们需要一个cityArray数组来保存当前省份对应的城市.这样,在滚动省份时只需要刷新第二列的数据即可.

UIPickerVIEwDelegate

UIPickerVIEwDelegate主要包含了返回pickerVIEw宽高及响应选择事件的方法.
注意,UIPickerVIEw有默认高度,代码设置高度是无效的.
实现省份-城市的列表联动主要是处理pickerVIEw:dIDSelectRow:inComponent:方法,当省份选择时,刷新城市列表,并将城市列表滚动到第一列.

总结

以上是内存溢出为你收集整理的使用UIPickerView实现简单的城市选择器全部内容,希望文章能够帮你解决使用UIPickerView实现简单的城市选择器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1083554.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存