YPNavigationBarTransition
一个功能齐全的 UINavigationBar
框架,用于使条目过渡更自然!您不需要调用任何 UINavigationBar
api,而是为您的视图控制器实现 YPNavigationBarConfigureStyle
协议。
类似微信 UINavigationBar 效果的切换方案,支持任意透明半透明图片背景等等不同样式的 UINavigationBar 的切换。
特性
- 不透明 & 透明导航栏 支持不透明、全透明和半透明的 navigation bar
- 纯色条栏 支持设置 navigation bar 背景颜色
- 背景图片条栏 支持设置 navigation bar 背景图片
- 动态 动态地 调整 navigationBar 样式
- 使用 Objective-C 编写,并提供完整的 Swift 互操作性支持
不同颜色和透明度的 bar 之间的切换
图片背景的 navigation bar
动态调整导航栏样式
需求
- Xcode 9.0+
- iOS 8.0+
安装
CocoaPods
推荐使用CocoaPods进行安装。在您的Podfile
中添加以下内容:
# use_frameworks! is needed for swift projects
use_frameworks!
pod 'YPNavigationBarTransition', '~> 2.0'
Carthage
对于Carthage,请在您的Cartfile
中添加以下内容:
github "yiplee/YPNavigationBarTransition" ~> 2.0
开始使用
1. 导入框架
// objc
#import <YPNavigationBarTransition/YPNavigationBarTransition.h>
// swift
import YPNavigationBarTransition
2. 使用 YPNavigationController 替代 UINavigationController
3. 在类别中实现 YPNavigationBarConfigureStyle 协议用于 YPNavigationController
// objc (this will be your app's default navigationbar style)
@implementation YPNavigationController (Configure)
- (YPNavigationBarConfigurations) yp_navigtionBarConfiguration {
return YPNavigationBarStyleBlack | YPNavigationBarBackgroundStyleTranslucent | YPNavigationBarBackgroundStyleNone;
}
- (UIColor *) yp_navigationBarTintColor {
return [UIColor whiteColor];
}
// swift (this will be your app's default navigationbar style)
extension YPNavigationController : NavigationBarConfigureStyle {
public func yp_navigtionBarConfiguration() -> YPNavigationBarConfigurations {
return [.styleBlack]
}
public func yp_navigationBarTintColor() -> UIColor! {
return UIColor.white
}
}
许可协议
MIT. 请参阅LICENSE文件以获取详细信息。