Swift三级
Swift 的三级下拉菜单选择器,适合做城市、分类这类多层级选择的场景。用一个自定义视图类LCDPullMenuView来搞定,逻辑清晰,结构也还挺灵活。每一层菜单的数据都可以是可选的,正好用上 Swift 的可选类型(Optionals),比如String?,贴合实际需求。
菜单的 UI 部分是用几个UITableView拼起来的,选择后动态展开下一级,响应也快。配合UITableViewDelegate和UITableViewDataSource,你可以自定义每一级菜单的展示内容,还能加点动画效果,比如淡入、滑动这些,视觉体验上也比较顺滑。
数据结构用嵌套数组或字典都行,比如[[String?]]就蛮常见的。你可以按业务定规则,也能兼容各种不同层级的菜单结构。比如:先选国家,再选省份,选城市——都能顺着逻辑走下来。
项目打包在LCD_PullMenuView-master里,直接跑一下就能看到效果。里面有主视图LCDPullMenuView.swift,控制器ViewController.swift,还有Main.storyboard和Info.plist。不用自己造轮子,参考着改挺省事。
如果你也碰到类似的三级选择需求,这个方案还蛮值得一试的。尤其在做 iOS 界面的时候,屏幕空间有限,这种展开式的交互方式也更适合移动端。
文件大小:188.29KB
评论区