吴忠躺衫网络科技有限公司

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>YPNavigationBarTransition IOS導航欄框架

YPNavigationBarTransition IOS導航欄框架

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

資料介紹

授權協議 MIT
開發語言 Objective-C
軟件類型 開源軟件

軟件簡介

YPNavigationBarTransition?是一個功能齊全的UINavigationBar框架,類似微信 UINavigationBar 效果的切換方案,支持任意透明半透明圖片背景等等不同樣式的 UINavigationBar 的切換,使過渡更自然!不需要調用任何UINavigationBarapiYPNavigationBarConfigureStyle為視圖控制器實現協議。

特征

  • 支持不透明、全透明和半透明的導航欄
  • 支持設置導航欄背景顏色
  • 支持設置導航欄背景圖片
  • 可以動態調整導航欄樣式
  • 用 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 配置

- (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 的時候需要用到。如果 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 協議。
?

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

評論

查看更多

下載排行

本周

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

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
百家乐官网园蒙| 澳门百家乐职业赌客| 娱乐城网址| 波音百家乐自动投注| 百家乐官网投注开户| 水果机的规律| 百家乐官网揽子打法| 大发888安装需要多久| 皇冠网小说网址| 7位百家乐扑克桌| 百家乐官网怎么玩| 百家乐官网大白菜| 高邮市| 棋牌室| 全讯网报码| 百家乐彩金| 百家乐如何计牌| 澳门百家乐官网下路写法| 博狗百家乐官网开户| ceo娱乐城信誉| 大发888网页版下载| 百家乐博弈指数| 百家乐单机游戏免费| 百家乐官网一年诈骗多少钱| 时时博百家乐官网娱乐城| 百家乐官网注码论坛| 喜来登百家乐的玩法技巧和规则 | 襄汾县| 崇仁县| 肥城市| 广发娱乐城| 和记娱乐| 最新娱乐城送体验金| 新葡京娱乐城开户| 大发888casino下载| 威尼斯人娱乐平台| 百家乐网络游戏信誉怎么样| MG百家乐大转轮| 凱旋门百家乐的玩法技巧和规则| 百家乐娱乐网网77scs| 中骏百家乐的玩法技巧和规则|