文章已迁移到:limingjie.net,请移步到【开源】iOS下拉菜单控件LMJDropdownMenu关注文章最新更新
🎉 欢迎大家使用最新的3.0.0版本,同时也恳请各位开发者提供在使用新版本中发现的问题,以帮助此控件更加完善,抱拳!
实现效果:
Demo地址: https://github.com/JerryLMJ/LMJDropdownMenu
如果此demo帮助到你,请赐给一颗star,你的鼓励是我coding的动力
使用场景
- 3.0.0 版本已经支持各种场景,包括导航栏、storyboard、UITableViewCell等,并且无论父视图空间是否足够都可以正常显示
- ⚠️ 如果你使用的是 2.x.x 版本,请确保使用此控件的父视图有足够空间展示控件的下拉列表
使用
- 使用cocoapods安装:
pod 'LMJDropdownMenu'
- 手动导入:
- 将
LMJDropdownMenu
文件拖拽到工程中 - 导入头文件
#import "LMJDropdownMenu.h"
- 将
属性及方法
属性 | 描述 |
---|---|
dataSource | 数据源代理对象 |
delegate | 代理对象 |
--- | --- |
title | 标题,默认‘Please Select’。选择选项值后,表示当前选择的选项 |
titleFont | 标题字体 |
titleColor | 标题颜色 |
titleAlignment | 标题对齐 |
titleEdgeInsets | 标题边界内距 |
titleBgColor | 标题背景颜色 |
--- | --- |
rotateIcon | 下拉旋转箭头图标 |
rotateIconSize | 下拉旋转箭头大小 |
--- | --- |
optionBgColor | 选项背景颜色 |
optionFont | 选项字体 |
optionTextColor | 选项字体颜色 |
optionTextAlignment | 选项文字对齐 |
optionNumberOfLines | 选项文字行数,默认0(多行) |
optionLineColor | 选项分割线颜色 |
optionIconSize | 选项图标大小,默认(15,15) |
--- | --- |
animateTime | 下拉动画时间, 默认0.25 |
方法 | 描述 |
---|---|
- reloadOptionsData | 刷新下拉列表数据 |
- showDropDown | 显示下拉列表 |
- hideDropDown | 隐藏下拉列表 |
代理方法 | 是否必选 | 描述 |
---|---|---|
LMJDropdownMenuDataSource | --- | --- |
- numberOfOptionsInDropdownMenu: | 必选 | 获取下拉列表选项个数 |
- dropdownMenu:heightForOptionAtIndex: | 必选 | 获取每个下拉选项的高度 |
- dropdownMenu:titleForOptionAtIndex: | 必选 | 获取每个下拉选项的文字 |
- dropdownMenu:iconForOptionAtIndex: | 可选 | 获取每个下拉选项的图标 |
LMJDropdownMenuDelegate | --- | --- |
- dropdownMenuWillShow: | 可选 | 下拉菜单将要显示 |
- dropdownMenuDidShow: | 可选 | 下拉菜单已经显示 |
- dropdownMenuWillHidden: | 可选 | 下拉菜单将要隐藏 |
- dropdownMenuDidHidden: | 可选 | 下拉菜单已经隐藏 |
- dropdownMenu:didSelectOptionAtIndex:optionTitle: | 可选 | 点击下拉列表某个选项 |
更新日志
2020.10.15(3.0.0):
🎉 最新的 3.0.0 版本已经支持各种场景,包括导航栏、storyboard、UITableViewCell等,并且无论父视图空间是否足够,都可正常显示!!!
本次更新重构下拉列表以适配父控件空间不足的情况,并满足多种场景的使用需求。
⚠️ 由 2.x.x 版本升级为 3.0.0 版本的同学需要注意:Api接口无变化,但下拉列表内部的展示方式已经完全不同,请注意替换过程中对下拉列表展示空间的处理(3.0.0版本无需考虑父视图空间是否足够的问题)。2019.12.23(2.1.0):
修复控件在xib和storyboard中的使用。
增加了控件在storyboard中使用的演示Demo。2019.7.1(2.0.3):
本次更新,修复页面跳转过程中菜单消失的bug。
增加了,当页面上有多个菜单时,打开菜单的时候会关闭其他已经展开的菜单。2019.6.21(2.0.2):
本次更新,在demo中增加了同一个视图存在多个下拉菜单的使用方法,并且增加新的菜单样式设置演示。
优化下拉选项的布局效果。2019.6.5(2.0.1):
本次更新修改了代理方法:由dropdownMenu:didSelectOptionAtIndex:
变更为dropdownMenu:didSelectOptionAtIndex:optionTitle:icon:
。
⚠️ 请升级版本的同学注意修改代码中的代理方法!2019.5.26(2.0.0):
全新的2.0版本来啦!🎉🎉🎉
本次更新增加了大家一直要求的cocoapods安装,并完善了demo模块的文件结构以及全新的中英文文档。
本次更新增加多个自定义样式属性,并改为通过DataSource代理获取列表数据。2016.8.22(1.0.0):
可以自定义下拉菜单的样式。
可以设置选项标题和行高。
版权声明:出自JerryLMJ技术博客的原创作品 ,转载时必须注明出处及相应链接!