文章已遷移到: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等,并且無論父視圖空間是否足夠,都可正常顯示?。。?br> 本次更新重構下拉列表以適配父控件空間不足的情況,并滿足多種場景的使用需求。
?? 由 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技術博客的原創作品 ,轉載時必須注明出處及相應鏈接!