iPhone开发ComboBox下拉控件实现方案

iPhone 开发里的“下拉选择”功能,虽然没有现成的ComboBox控件,但其实做起来也不麻烦。你可以用UIPickerView来搞定一些单列选择,用UITableView搞定那种选项比较多、还想加点搜索的情况,挺灵活的。

PickerView 的好处是样子统一、交互熟,适合像生日、城市这些定项选择。代码结构也清晰,配个代理和数据源就能跑。

要做得更像其他平台那种下拉控件,其实UITableView更好用。你可以直接把它嵌在一个小窗口里,点一下按钮弹出来,选完自动收起,逻辑比较直观,用户体验也更好。

另外,如果你想偷个懒,UIAlertController搭配几个 action 也是个不错的方案。像“选择性别”这种需求,几行代码就能搞定,还省事。

在 iPad 上用UIPopoverController做出来的效果就更像传统的 ComboBox 了,用户点击之后弹出一个带选择项的小气泡,看起来也挺高级的。

要注意的点也有几个:数据模型要想清楚,代理和数据源要分清楚,尤其是多列选择的时候。界面上的动画、位置,也要细调,不然总感觉哪里不对劲。

如果你刚好在做表单、筛选类页面,这几个组合方式都值得一试。实在不想造轮子,也可以找找第三方库,不过手写一套其实也没多复杂。

zip 文件大小:718.52KB