資料介紹
軟件簡(jiǎn)介
YPNavigationBarTransition?是一個(gè)功能齊全的UINavigationBar
框架,類似微信 UINavigationBar 效果的切換方案,支持任意透明半透明圖片背景等等不同樣式的 UINavigationBar 的切換,使過渡更自然!不需要調(diào)用任何UINavigationBar
api,YPNavigationBarConfigureStyle
為視圖控制器實(shí)現(xiàn)協(xié)議。
特征
- 支持不透明、全透明和半透明的導(dǎo)航欄
- 支持設(shè)置導(dǎo)航欄背景顏色
- 支持設(shè)置導(dǎo)航欄背景圖片
- 可以動(dòng)態(tài)調(diào)整導(dǎo)航欄樣式
- 用 Objective-C 編寫,具有完整的 Swift 互操作支持
不同顏色和透明度的 bar 之間的切換
圖片背景的 navigation bar
動(dòng)態(tài)調(diào)整 navigation bar 樣式
依賴項(xiàng)
- Xcode 9.0+
- iOS 8.0+
使用 YPNavigationBarTransition
YPNavigationBarTransition 依靠 UINavigationControllerDelegate 的 willShow & didShow 驅(qū)動(dòng)來實(shí)現(xiàn)自動(dòng)管理 navigationBar 的切換。 對(duì)于每一個(gè)對(duì) navigationBar 的樣式有自定義需求的 viewController,可以通過實(shí)現(xiàn)?YPNavigationBarConfigureStyle
?協(xié)議來實(shí)現(xiàn)。 每次 navigationController push 或者 pop viewController 的時(shí)候,YPNavigationBarTransition 通過對(duì)比當(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 會(huì)影響 status bar 的樣式,為 black 的時(shí)候 status bar 是白色,light 的時(shí)候是黑色。 * 當(dāng)沒有自定義 background color 和 background image 的時(shí)候,navigation bar 的顏色也由 bar style 決定 * 另外如果沒有提供有效的 tintColor,YPNavigationBarTransition 將根據(jù) bar style 自動(dòng)設(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 配置
[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)。
動(dòng)態(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)頁(yè)面 title,這樣可以讓頁(yè)面完全自己控制 title 的顏色、 字體等等,并且還可以實(shí)現(xiàn) subtitle??梢詤⒖?Example 里面的?YPNavigationTitleLabel。
ScrollView 跳動(dòng)問題?在轉(zhuǎn)場(chǎng)過程中,navigationBar 的 translucent 屬性可能發(fā)生了改變, 然后導(dǎo)致了 scrollView 的 frame 和 contentInset 發(fā)生改變,頁(yè)面展示內(nèi)容位置變化。如果遇到這種情況,建議設(shè)置對(duì)應(yīng) controller 的 extendedLayoutIncludesOpaqueBars (IB 里面的 under opaque bar) 為 YES,即可避開這個(gè)問題。
???注意
- 不支持 iOS 11 新增的 navigationBar large title。
- 使用默認(rèn)配置的頁(yè)面,不用實(shí)現(xiàn) YPNavigationBarConfigureStyle 協(xié)議。
- ChatGPT:AI模型框架研究 1次下載
- ZLNavigationController iOS頭條導(dǎo)航欄
- 基于openharmony適配移植可定制的導(dǎo)航欄演示 1次下載
- 基于openharmony移植的具有材料設(shè)計(jì)風(fēng)格和簡(jiǎn)化方法的導(dǎo)航抽屜欄 2次下載
- 蘋果ios藍(lán)牙調(diào)試助手工具源代碼下載 7次下載
- 基于北斗導(dǎo)航的無人艇運(yùn)動(dòng)導(dǎo)航控制系統(tǒng) 13次下載
- 基于boosting框架的混合秩矩陣分解模型 13次下載
- 基于MATLAB的農(nóng)機(jī)自動(dòng)導(dǎo)航車輛采集系統(tǒng) 9次下載
- 可同步目標(biāo)導(dǎo)向行為和記憶空間結(jié)構(gòu)的視覺導(dǎo)航方法 11次下載
- 一種基于框架特征的共指消解方法 7次下載
- 機(jī)器視覺和GPS導(dǎo)航和數(shù)字地圖等汽車的導(dǎo)航技術(shù)的介紹的和發(fā)展趨勢(shì) 18次下載
- multisim界面菜單的工具欄的使用和作用詳細(xì)介紹 31次下載
- Android 仿谷歌側(cè)邊欄導(dǎo)航源碼 1次下載
- 創(chuàng)建與使用菜單、工具欄和狀態(tài)欄
- 基于視覺自動(dòng)導(dǎo)航車的物資搬運(yùn)系統(tǒng)設(shè)計(jì)
- Python自動(dòng)化測(cè)試框架及其應(yīng)用 354次閱讀
- API測(cè)試框架Grillon概述 1895次閱讀
- qiling框架和AFLplusplus安裝 1667次閱讀
- ROHM Solution Simulator工具欄的功能和基本操作 747次閱讀
- OpenHarmony SystemUI開發(fā)記錄 2574次閱讀
- 基于SSM框架的新聞管理系統(tǒng) 1120次閱讀
- 對(duì)于UWB技術(shù)基礎(chǔ)詳解 8.7w次閱讀
- 現(xiàn)在流行的Web APP開發(fā)框架有哪些 1.1w次閱讀
- 一種新型可量測(cè)影像與GPS、IMU組合的導(dǎo)航方法 8129次閱讀
- 嵌入式應(yīng)用框架EAF詳解 2700次閱讀
- 深入解析AGV磁釘導(dǎo)航方案 3.4w次閱讀
- 基于FPGA的慣性導(dǎo)航系統(tǒng)設(shè)計(jì) 2942次閱讀
- 基于雙口RAM的組合導(dǎo)航系統(tǒng)設(shè)計(jì)與應(yīng)用 1210次閱讀
- 什么是Hibernate?Hibernate框架架構(gòu)與框架原理分析 5234次閱讀
- 基于FPGA的視覺導(dǎo)航小車設(shè)計(jì)與實(shí)現(xiàn) 4200次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多