資料介紹
軟件簡介
YPNavigationBarTransition?是一個功能齊全的UINavigationBar
框架,類似微信 UINavigationBar 效果的切換方案,支持任意透明半透明圖片背景等等不同樣式的 UINavigationBar 的切換,使過渡更自然!不需要調用任何UINavigationBar
api,YPNavigationBarConfigureStyle
為視圖控制器實現協議。
特征
- 支持不透明、全透明和半透明的導航欄
- 支持設置導航欄背景顏色
- 支持設置導航欄背景圖片
- 可以動態調整導航欄樣式
- 用 Objective-C 編寫,具有完整的 Swift 互操作支持
不同顏色和透明度的 bar 之間的切換
圖片背景的 navigation bar
動態調整 navigation bar 樣式
依賴項
- Xcode 9.0+
- iOS 8.0+
使用 YPNavigationBarTransition
YPNavigationBarTransition 依靠 UINavigationControllerDelegate 的 willShow & didShow 驅動來實現自動管理 navigationBar 的切換。 對于每一個對 navigationBar 的樣式有自定義需求的 viewController,可以通過實現?YPNavigationBarConfigureStyle
?協議來實現。 每次 navigationController push 或者 pop viewController 的時候,YPNavigationBarTransition 通過對比當前 navigationBar 的樣式和目標 viewController 指定的樣式來判斷是否需要添加 fake bar (用 UIToolbar)來模擬 navigation bar 的切換。
YPNavigationBarConfigureStyle
?協議
typedef NS_ENUM(NSUInteger, YPNavigationBarConfigurations) { /* * 是否隱藏 navigation bar,默認是 show。 */ YPNavigationBarShow = 0, YPNavigationBarHidden = 1, /* * YPNavigationBarStyleLight = UIbarStyleDefault * YPNavigationBarStyleBlack = UIbarStyleBlack * * bar style 會影響 status bar 的樣式,為 black 的時候 status bar 是白色,light 的時候是黑色。 * 當沒有自定義 background color 和 background image 的時候,navigation bar 的顏色也由 bar style 決定 * 另外如果沒有提供有效的 tintColor,YPNavigationBarTransition 將根據 bar style 自動設置 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 下方的橫線,默認不顯示 * 在全透明 (Transparent) 的時候,將忽略 shadow image 的設置 */ 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 的時候需要用到。如果 bar configuration使用了 YPNavigationBarBackgroundStyleImage,這個方法一定要實現。
- (UIColor *) yp_navigationBackgroundColor;
[optional]?navigation bar background color。如果 bar configuration 使用了 YPNavigationBarBackgroundStyleColor,這個方法一定要實現。
動態改變 NavigationBar 的樣式
在合適的時機調用 UIViewController 的方法 yp_refreshNavigationBarStyle,即可將 UIViewController 實現的?YPNavigationBarConfigureStyle
?當前 樣式同步到 navigation bar 上。參考 Example 里面的?YPGradientDemoViewController
最佳實踐
默認 YPNavigationBarConfigureStyle 實現?自?2.0.2?版本開始,封裝了 center 的 YPNavigationController 已內置在 framework 內,只需要給 YPNavigationController 加一個 Category 實現 YPNavigationBarConfigureStyle 協議即可。
NavigationItem Title?建議使用一個 UILabel 作為 navigationItem 的 titleView 來展現頁面 title,這樣可以讓頁面完全自己控制 title 的顏色、 字體等等,并且還可以實現 subtitle。可以參考 Example 里面的?YPNavigationTitleLabel。
ScrollView 跳動問題?在轉場過程中,navigationBar 的 translucent 屬性可能發生了改變, 然后導致了 scrollView 的 frame 和 contentInset 發生改變,頁面展示內容位置變化。如果遇到這種情況,建議設置對應 controller 的 extendedLayoutIncludesOpaqueBars (IB 里面的 under opaque bar) 為 YES,即可避開這個問題。
???注意
- 不支持 iOS 11 新增的 navigationBar large title。
- 使用默認配置的頁面,不用實現 YPNavigationBarConfigureStyle 協議。
- ChatGPT:AI模型框架研究 9次下載
- ZLNavigationController iOS頭條導航欄
- 基于openharmony適配移植可定制的導航欄演示 1次下載
- 基于openharmony移植的具有材料設計風格和簡化方法的導航抽屜欄 2次下載
- 蘋果ios藍牙調試助手工具源代碼下載 7次下載
- 基于北斗導航的無人艇運動導航控制系統 13次下載
- 基于boosting框架的混合秩矩陣分解模型 13次下載
- 基于MATLAB的農機自動導航車輛采集系統 9次下載
- 可同步目標導向行為和記憶空間結構的視覺導航方法 11次下載
- 一種基于框架特征的共指消解方法 7次下載
- 機器視覺和GPS導航和數字地圖等汽車的導航技術的介紹的和發展趨勢 18次下載
- multisim界面菜單的工具欄的使用和作用詳細介紹 31次下載
- Android 仿谷歌側邊欄導航源碼 1次下載
- 創建與使用菜單、工具欄和狀態欄
- 基于視覺自動導航車的物資搬運系統設計
- 基于視覺語言模型的導航框架VLMnav 223次閱讀
- Python自動化測試框架及其應用 579次閱讀
- qiling框架和AFLplusplus安裝 2040次閱讀
- ROHM Solution Simulator工具欄的功能和基本操作 958次閱讀
- OpenHarmony SystemUI開發記錄 2748次閱讀
- 基于SSM框架的新聞管理系統 1385次閱讀
- 對于UWB技術基礎詳解 8.7w次閱讀
- 現在流行的Web APP開發框架有哪些 1.1w次閱讀
- 一種新型可量測影像與GPS、IMU組合的導航方法 8344次閱讀
- 嵌入式應用框架EAF詳解 2892次閱讀
- 深入解析AGV磁釘導航方案 3.4w次閱讀
- 基于FPGA的慣性導航系統設計 3116次閱讀
- 基于雙口RAM的組合導航系統設計與應用 1329次閱讀
- 什么是Hibernate?Hibernate框架架構與框架原理分析 5313次閱讀
- 基于FPGA的視覺導航小車設計與實現 4448次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論