iOS下拉菜單效果實(shí)現(xiàn)

文章已遷移到: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)鏈接!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容