RM新时代网站-首页

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>YPNavigationBarTransition IOS導(dǎo)航欄框架

YPNavigationBarTransition IOS導(dǎo)航欄框架

2022-06-23 | zip | 9.52 MB | 次下載 | 2積分

資料介紹

授權(quán)協(xié)議 MIT
開發(fā)語言 Objective-C
軟件類型 開源軟件

軟件簡(jiǎn)介

YPNavigationBarTransition?是一個(gè)功能齊全的UINavigationBar框架,類似微信 UINavigationBar 效果的切換方案,支持任意透明半透明圖片背景等等不同樣式的 UINavigationBar 的切換,使過渡更自然!不需要調(diào)用任何UINavigationBarapiYPNavigationBarConfigureStyle為視圖控制器實(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 配置

- (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)。

動(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é)議。
?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
RM新时代网站-首页