資料介紹
軟件簡介
YPNavigationBarTransition?是一個(gè)功能齊全的UINavigationBar框架,類似微信 UINavigationBar 效果的切換方案,支持任意透明半透明圖片背景等等不同樣式的 UINavigationBar 的切換,使過渡更自然!不需要調(diào)用任何UINavigationBarapi,YPNavigationBarConfigureStyle為視圖控制器實(shí)現(xiàn)協(xié)議。
特征
- 支持不透明、全透明和半透明的導(dǎo)航欄
- 支持設(shè)置導(dǎo)航欄背景顏色
- 支持設(shè)置導(dǎo)航欄背景圖片
- 可以動態(tài)調(diào)整導(dǎo)航欄樣式
- 用 Objective-C 編寫,具有完整的 Swift 互操作支持
不同顏色和透明度的 bar 之間的切換
圖片背景的 navigation bar
動態(tài)調(diào)整 navigation bar 樣式
依賴項(xiàng)
- Xcode 9.0+
- iOS 8.0+
使用 YPNavigationBarTransition
YPNavigationBarTransition 依靠 UINavigationControllerDelegate 的 willShow & didShow 驅(qū)動來實(shí)現(xiàn)自動管理 navigationBar 的切換。 對于每一個(gè)對 navigationBar 的樣式有自定義需求的 viewController,可以通過實(shí)現(xiàn)?YPNavigationBarConfigureStyle?協(xié)議來實(shí)現(xiàn)。 每次 navigationController push 或者 pop viewController 的時(shí)候,YPNavigationBarTransition 通過對比當(dāng)前 navigationBar 的樣式和目標(biāo) viewController 指定的樣式來判斷是否需要添加 fake bar (用 UIToolbar)來模擬 navigation bar 的切換。
YPNavigationBarConfigureStyle?協(xié)議
typedef NS_ENUM(NSUInteger, YPNavigationBarConfigurations) { /* * 是否隱藏 navigation bar,默認(rèn)是 show。 */ YPNavigationBarShow = 0, YPNavigationBarHidden = 1, /* * YPNavigationBarStyleLight = UIbarStyleDefault * YPNavigationBarStyleBlack = UIbarStyleBlack * * bar style 會影響 status bar 的樣式,為 black 的時(shí)候 status bar 是白色,light 的時(shí)候是黑色。 * 當(dāng)沒有自定義 background color 和 background image 的時(shí)候,navigation bar 的顏色也由 bar style 決定 * 另外如果沒有提供有效的 tintColor,YPNavigationBarTransition 將根據(jù) bar style 自動設(shè)置 tintColor */ YPNavigationBarStyleLight = 0 << 4, // UIbarStyleDefault YPNavigationBarStyleBlack = 1 << 4, // UIbarStyleBlack /* * translucent = 半透明,transparent = 全透明,opaque = 不透明 */ YPNavigationBarBackgroundStyleTranslucent = 0 << 8, YPNavigationBarBackgroundStyleOpaque = 1 << 8, YPNavigationBarBackgroundStyleTransparent = 2 << 8, /* * 使用顏色或者圖片來配置 navigation bar 的 background image */ YPNavigationBarBackgroundStyleNone = 0 << 16, YPNavigationBarBackgroundStyleColor = 1 << 16, YPNavigationBarBackgroundStyleImage = 2 << 16, YPNavigationBarConfigurationsDefault = 0, /* * 是否顯示 UINavigationBar 下方的橫線,默認(rèn)不顯示 * 在全透明 (Transparent) 的時(shí)候,將忽略 shadow image 的設(shè)置 */ YPNavigationBarShowShadowImage = 1 << 20, }; - (YPNavigationBarConfigurations) yp_navigtionBarConfiguration;
[required]?返回 navigation bar 配置
- (UIColor *) yp_navigationBarTintColor;
[required]?navigation bar tint color,影響 bar item 的顏色; 如果返回 nil,bar style 是 YPNavigationBarStyleBlack 的話,將使用白色作為 tintColor, bar style 是 YPNavigationBarStyleLight 的話,將使用黑色作為 tintColor。
- (UIImage *) yp_navigationBackgroundImageWithIdentifier:(NSString **)identifier;
[optional]?navigation bar background image,identifier作為 image 的 id 使用,同 id 的圖片看作是同一張圖片,在判斷是否需要使用 fake bar 的時(shí)候需要用到。如果 bar configuration使用了 YPNavigationBarBackgroundStyleImage,這個(gè)方法一定要實(shí)現(xiàn)。
- (UIColor *) yp_navigationBackgroundColor;
[optional]?navigation bar background color。如果 bar configuration 使用了 YPNavigationBarBackgroundStyleColor,這個(gè)方法一定要實(shí)現(xiàn)。
動態(tài)改變 NavigationBar 的樣式
在合適的時(shí)機(jī)調(diào)用 UIViewController 的方法 yp_refreshNavigationBarStyle,即可將 UIViewController 實(shí)現(xiàn)的?YPNavigationBarConfigureStyle?當(dāng)前 樣式同步到 navigation bar 上。參考 Example 里面的?YPGradientDemoViewController
最佳實(shí)踐
默認(rèn) YPNavigationBarConfigureStyle 實(shí)現(xiàn)?自?2.0.2?版本開始,封裝了 center 的 YPNavigationController 已內(nèi)置在 framework 內(nèi),只需要給 YPNavigationController 加一個(gè) Category 實(shí)現(xiàn) YPNavigationBarConfigureStyle 協(xié)議即可。
NavigationItem Title?建議使用一個(gè) UILabel 作為 navigationItem 的 titleView 來展現(xiàn)頁面 title,這樣可以讓頁面完全自己控制 title 的顏色、 字體等等,并且還可以實(shí)現(xiàn) subtitle。可以參考 Example 里面的?YPNavigationTitleLabel。
ScrollView 跳動問題?在轉(zhuǎn)場過程中,navigationBar 的 translucent 屬性可能發(fā)生了改變, 然后導(dǎo)致了 scrollView 的 frame 和 contentInset 發(fā)生改變,頁面展示內(nèi)容位置變化。如果遇到這種情況,建議設(shè)置對應(yīng) controller 的 extendedLayoutIncludesOpaqueBars (IB 里面的 under opaque bar) 為 YES,即可避開這個(gè)問題。
???注意
- 不支持 iOS 11 新增的 navigationBar large title。
- 使用默認(rèn)配置的頁面,不用實(shí)現(xiàn) YPNavigationBarConfigureStyle 協(xié)議。
- ChatGPT:AI模型框架研究 9次下載
- 開源軟件-SMTNavigationBar iOS導(dǎo)航欄
- ZLNavigationController iOS頭條導(dǎo)航欄
- 基于openharmony適配移植可定制的導(dǎo)航欄演示 1次下載
- 基于openharmony移植的具有材料設(shè)計(jì)風(fēng)格和簡化方法的導(dǎo)航抽屜欄 2次下載
- 蘋果ios藍(lán)牙調(diào)試助手工具源代碼下載 7次下載
- 基于boosting框架的混合秩矩陣分解模型 13次下載
- 基于MATLAB的農(nóng)機(jī)自動導(dǎo)航車輛采集系統(tǒng) 10次下載
- 可同步目標(biāo)導(dǎo)向行為和記憶空間結(jié)構(gòu)的視覺導(dǎo)航方法 11次下載
- 一種基于框架特征的共指消解方法 7次下載
- 機(jī)器視覺和GPS導(dǎo)航和數(shù)字地圖等汽車的導(dǎo)航技術(shù)的介紹的和發(fā)展趨勢 18次下載
- multisim界面菜單的工具欄的使用和作用詳細(xì)介紹 31次下載
- Android 仿谷歌側(cè)邊欄導(dǎo)航源碼 1次下載
- 創(chuàng)建與使用菜單、工具欄和狀態(tài)欄
- 基于視覺自動導(dǎo)航車的物資搬運(yùn)系統(tǒng)設(shè)計(jì)
- 為什么選擇組合導(dǎo)航?它有哪些優(yōu)勢? 666次閱讀
- 組合導(dǎo)航系統(tǒng)中的慣性導(dǎo)航系統(tǒng)是什么? 891次閱讀
- 基于視覺語言模型的導(dǎo)航框架VLMnav 1.4k次閱讀
- Python自動化測試框架及其應(yīng)用 1.2k次閱讀
- qiling框架和AFLplusplus安裝 3.2k次閱讀
- ROHM Solution Simulator工具欄的功能和基本操作 1.5k次閱讀
- OpenHarmony SystemUI開發(fā)記錄 3.5k次閱讀
- 基于SSM框架的新聞管理系統(tǒng) 2.2k次閱讀
- 一種新型可量測影像與GPS、IMU組合的導(dǎo)航方法 9.2k次閱讀
- 嵌入式應(yīng)用框架EAF詳解 3.4k次閱讀
- 深入解析AGV磁釘導(dǎo)航方案 3.6w次閱讀
- 基于FPGA的慣性導(dǎo)航系統(tǒng)設(shè)計(jì) 3.7k次閱讀
- 基于雙口RAM的組合導(dǎo)航系統(tǒng)設(shè)計(jì)與應(yīng)用 1.7k次閱讀
- 什么是Hibernate?Hibernate框架架構(gòu)與框架原理分析 5.6k次閱讀
- 基于FPGA的視覺導(dǎo)航小車設(shè)計(jì)與實(shí)現(xiàn) 5k次閱讀
下載排行
本周
- 1EMC PCB設(shè)計(jì)總結(jié)
- 0.33 MB | 4次下載 | 免費(fèi)
- 2飛騰FT2000-4 COM Express核心板技術(shù)手冊0603
- 1.22 MB | 1次下載 | 免費(fèi)
- 3飛騰S5000C-64雙路服務(wù)器系列應(yīng)用宣傳冊--一乘科技
- 945.81 KB | 1次下載 | 免費(fèi)
- 4軸向磁通無刷刷盤電機(jī)規(guī)格書
- 0.41 MB | 次下載 | 免費(fèi)
- 5飛騰S5000C-32雙路服務(wù)器DDR5主板規(guī)格書-一乘科技
- 435.28 KB | 次下載 | 免費(fèi)
- 6一乘科技產(chǎn)品宣傳冊260316
- 2.65 MB | 次下載 | 免費(fèi)
- 7PC0805全集成單相無刷直流電機(jī)可編程閉環(huán)驅(qū)動器英文資料
- 0.59 MB | 次下載 | 免費(fèi)
- 8賽思時(shí)頻同步產(chǎn)品手冊
- 13.29 MB | 次下載 | 免費(fèi)
本月
- 1美的電磁爐電路原理圖資料
- 4.39 MB | 27次下載 | 10 積分
- 2反激式開關(guān)電源設(shè)計(jì)解析
- 0.89 MB | 20次下載 | 5 積分
- 3耗盡型MOS FET產(chǎn)品目錄選型表
- 0.14 MB | 4次下載 | 免費(fèi)
- 4PD取電芯片 ECP5702規(guī)格書
- 0.88 MB | 4次下載 | 免費(fèi)
- 5EMC PCB設(shè)計(jì)總結(jié)
- 0.33 MB | 4次下載 | 免費(fèi)
- 6氮化鎵GaN FET/GaN HEMT 功率驅(qū)動電路選型表
- 0.10 MB | 2次下載 | 免費(fèi)
- 7PC5200 700V_10A GaN HEMT驅(qū)動器數(shù)據(jù)手冊
- 1.63 MB | 1次下載 | 免費(fèi)
- 81節(jié)電池用電池保護(hù)IC S-8261D系列數(shù)據(jù)手冊
- 3.07 MB | 1次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233095次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191457次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81605次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73832次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論