链氪巴士
  1. 首页
  2. 站点导航
  3. 文章
  4. 快讯
  5. 软件
  6. 书刊
  7. 关于

NNNavigationBar-实现导航条背景渐变过渡动画的轻量级框架

NNNavigationBar是一个用于实现UINavigationBar背景渐变过渡动画的轻量级框架。它通过特定方式hook UINavigationBar的方法调用达成动画效果,仅对UINavigationBar进行特定方法混淆且只对相关必要属性关联。还提及使用中可能遇到的系...

访问官网 →

NNNavigationBar-实现导航条背景渐变过渡动画的轻量级框架

项目简介

NNNavigationBar是一个用于实现UINavigationBar背景渐变过渡动画的轻量级框架。它通过Category/MethodSwizzling方式hook UINavigationBar的方法调用,从而达成导航条背景渐变过渡动画的效果。这个框架轻量的原因在于仅对UINavigationBar进行了MethodSwizzling方法混淆,不涉及其它类(如UIViewController、UINavigationController等)的方法混淆,且仅对UINavigationBar/UINavigationItem进行了必要的属性关联。

可能遇到的问题及解决

在使用UINavigationBar时可能会遇到一个系统bug,即导航右滑返回手势概率性地导致返回以后页面的rightBarButtonItem的tintColor颜色变浅。其bug产生的原因是在viewDidLoad中设置rightBarButtonItem会导致此问题,不过这个bug是概率性发生的,不易复现。解决此bug的方法是将rightBarButtonItem的设置移至viewWillAppear中。

安装方式

通过CocoaPods集成

首先安装最新版的CocoaPods:$ gem install cocoapods。然后在podfile中添加:pod ‘NNNavigationBar’, ‘~> 2.7.3’,最后在终端执行:$ pod install。若安装失败,提示:[!] Unable to find a specification for NNNavigationBar,可尝试使用命令:pod install –repo-update。

通过Carthage集成

先通过Homebrew命令安装Carthage:$ brew update,$ brew install carthage。然后在Cartfile中添加:github “amisare/NNNavigationBar” ~> 2.7.3。执行carthage构建Framework,并将NNNavigationBar.framework添加到Xcode项目中。

项目总结

NNNavigationBar是一个实现导航条背景渐变过渡动画的实用框架,对于iOS开发中涉及导航条背景动画处理有一定的帮助。欢迎大家在评论区留言分享使用体验或者提出相关问题。

项目地址

GitHub链接直达