iOS下拉菜單效果實現

文章已遷移到: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技術博客的原創作品 ,轉載時必須注明出處及相應鏈接!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容