文章已遷移到:limingjie.net,請(qǐng)移步到【開源】iOS下拉菜單控件LMJDropdownMenu關(guān)注文章最新更新
?? 歡迎大家使用最新的3.0.0版本,同時(shí)也懇請(qǐng)各位開發(fā)者提供在使用新版本中發(fā)現(xiàn)的問(wèn)題,以幫助此控件更加完善,抱拳!
實(shí)現(xiàn)效果:
Demo地址: https://github.com/JerryLMJ/LMJDropdownMenu
如果此demo幫助到你,請(qǐng)賜給一顆star,你的鼓勵(lì)是我coding的動(dòng)力
使用場(chǎng)景
- 3.0.0 版本已經(jīng)支持各種場(chǎng)景,包括導(dǎo)航欄、storyboard、UITableViewCell等,并且無(wú)論父視圖空間是否足夠都可以正常顯示
- ?? 如果你使用的是 2.x.x 版本,請(qǐng)確保使用此控件的父視圖有足夠空間展示控件的下拉列表
使用
- 使用cocoapods安裝:
pod 'LMJDropdownMenu'
- 手動(dòng)導(dǎo)入:
- 將
LMJDropdownMenu
文件拖拽到工程中 - 導(dǎo)入頭文件
#import "LMJDropdownMenu.h"
- 將
屬性及方法
屬性 | 描述 |
---|---|
dataSource | 數(shù)據(jù)源代理對(duì)象 |
delegate | 代理對(duì)象 |
--- | --- |
title | 標(biāo)題,默認(rèn)‘Please Select’。選擇選項(xiàng)值后,表示當(dāng)前選擇的選項(xiàng) |
titleFont | 標(biāo)題字體 |
titleColor | 標(biāo)題顏色 |
titleAlignment | 標(biāo)題對(duì)齊 |
titleEdgeInsets | 標(biāo)題邊界內(nèi)距 |
titleBgColor | 標(biāo)題背景顏色 |
--- | --- |
rotateIcon | 下拉旋轉(zhuǎn)箭頭圖標(biāo) |
rotateIconSize | 下拉旋轉(zhuǎn)箭頭大小 |
--- | --- |
optionBgColor | 選項(xiàng)背景顏色 |
optionFont | 選項(xiàng)字體 |
optionTextColor | 選項(xiàng)字體顏色 |
optionTextAlignment | 選項(xiàng)文字對(duì)齊 |
optionNumberOfLines | 選項(xiàng)文字行數(shù),默認(rèn)0(多行) |
optionLineColor | 選項(xiàng)分割線顏色 |
optionIconSize | 選項(xiàng)圖標(biāo)大小,默認(rèn)(15,15) |
--- | --- |
animateTime | 下拉動(dòng)畫時(shí)間, 默認(rèn)0.25 |
方法 | 描述 |
---|---|
- reloadOptionsData | 刷新下拉列表數(shù)據(jù) |
- showDropDown | 顯示下拉列表 |
- hideDropDown | 隱藏下拉列表 |
代理方法 | 是否必選 | 描述 |
---|---|---|
LMJDropdownMenuDataSource | --- | --- |
- numberOfOptionsInDropdownMenu: | 必選 | 獲取下拉列表選項(xiàng)個(gè)數(shù) |
- dropdownMenu:heightForOptionAtIndex: | 必選 | 獲取每個(gè)下拉選項(xiàng)的高度 |
- dropdownMenu:titleForOptionAtIndex: | 必選 | 獲取每個(gè)下拉選項(xiàng)的文字 |
- dropdownMenu:iconForOptionAtIndex: | 可選 | 獲取每個(gè)下拉選項(xiàng)的圖標(biāo) |
LMJDropdownMenuDelegate | --- | --- |
- dropdownMenuWillShow: | 可選 | 下拉菜單將要顯示 |
- dropdownMenuDidShow: | 可選 | 下拉菜單已經(jīng)顯示 |
- dropdownMenuWillHidden: | 可選 | 下拉菜單將要隱藏 |
- dropdownMenuDidHidden: | 可選 | 下拉菜單已經(jīng)隱藏 |
- dropdownMenu:didSelectOptionAtIndex:optionTitle: | 可選 | 點(diǎn)擊下拉列表某個(gè)選項(xiàng) |
更新日志
2020.10.15(3.0.0):
?? 最新的 3.0.0 版本已經(jīng)支持各種場(chǎng)景,包括導(dǎo)航欄、storyboard、UITableViewCell等,并且無(wú)論父視圖空間是否足夠,都可正常顯示?。?!
本次更新重構(gòu)下拉列表以適配父控件空間不足的情況,并滿足多種場(chǎng)景的使用需求。
?? 由 2.x.x 版本升級(jí)為 3.0.0 版本的同學(xué)需要注意:Api接口無(wú)變化,但下拉列表內(nèi)部的展示方式已經(jīng)完全不同,請(qǐng)注意替換過(guò)程中對(duì)下拉列表展示空間的處理(3.0.0版本無(wú)需考慮父視圖空間是否足夠的問(wèn)題)。2019.12.23(2.1.0):
修復(fù)控件在xib和storyboard中的使用。
增加了控件在storyboard中使用的演示Demo。2019.7.1(2.0.3):
本次更新,修復(fù)頁(yè)面跳轉(zhuǎn)過(guò)程中菜單消失的bug。
增加了,當(dāng)頁(yè)面上有多個(gè)菜單時(shí),打開菜單的時(shí)候會(huì)關(guān)閉其他已經(jīng)展開的菜單。2019.6.21(2.0.2):
本次更新,在demo中增加了同一個(gè)視圖存在多個(gè)下拉菜單的使用方法,并且增加新的菜單樣式設(shè)置演示。
優(yōu)化下拉選項(xiàng)的布局效果。2019.6.5(2.0.1):
本次更新修改了代理方法:由dropdownMenu:didSelectOptionAtIndex:
變更為dropdownMenu:didSelectOptionAtIndex:optionTitle:icon:
。
?? 請(qǐng)升級(jí)版本的同學(xué)注意修改代碼中的代理方法!2019.5.26(2.0.0):
全新的2.0版本來(lái)啦!??????
本次更新增加了大家一直要求的cocoapods安裝,并完善了demo模塊的文件結(jié)構(gòu)以及全新的中英文文檔。
本次更新增加多個(gè)自定義樣式屬性,并改為通過(guò)DataSource代理獲取列表數(shù)據(jù)。2016.8.22(1.0.0):
可以自定義下拉菜單的樣式。
可以設(shè)置選項(xiàng)標(biāo)題和行高。
版權(quán)聲明:出自JerryLMJ技術(shù)博客的原創(chuàng)作品 ,轉(zhuǎn)載時(shí)必須注明出處及相應(yīng)鏈接!