MUKit - MUNavigation 轻量 简单 易用 的导航框架

最简单 最容易使用的导航框架

MUNavigation 导航框架原理(与其它导航框架的区别)

MUNavigation的原理是不直接对Navigation bar操作,
而是把navigation bar的样式存储在UIViewController里,
当UIViewController调用-(void)viewWillAppear:(BOOL)animated时,
一次性设置当前UIViewController的navigation bar样式,
这样每个UIViewController的navigation bar样式就是相互独立的,
互不影响。当UIViewController没有设置任何Navigation bar样式时,
他就会取UIViewController的UINavigationController(全局设置)的Navigation bar样式,作为当前UIViewController的Navigation bar样式。
UIViewController只需设置一次Navigation bar的样式代码,
无需考虑UIViewController间的Navigation bar样式影响。
大量节省代码和时间,集中精力处理业务. 

MUNavigation里只有一个UIViewController (MUNavigation)分类文件,里面可以配置一些属性

@property(nonatomic, assign)BOOL             navigationBarTranslucentMu;//透明导航栏
@property(nonatomic, assign)CGFloat          navigationBarAlphaMu;//透明度
@property(nonatomic, assign)BOOL             navigationBarHiddenMu;//隐藏导航栏
@property(nonatomic, strong)UIColor          *navigationBarBackgroundColorMu;//背景颜色
@property(nonatomic, strong)UIImage          *navigationBarBackgroundImageMu;//背景图片
@property(nonatomic, assign)BOOL             navigationBarShadowImageHiddenMu;//隐藏阴影线
@property(nonatomic, strong)UIColor          *titleColorMu;//标题颜色
@property(nonatomic, strong)UIColor          *navigationBarTintColor;//控件颜色
@property(nonatomic, assign)UIStatusBarStyle statusBarStyleMu;//电池电量条,没有导航控制器的情况下使用
@property(nonatomic, assign)UIBarStyle       barStyleMu;//电池电量条,有导航控制器的情况下使用
@property(nonatomic, strong)UIImage          *backIndicatorImageMu;//返回按钮图片
@property(nonatomic, assign)BOOL             showBackBarButtonItemText;//是否显示返回按钮文字
@property(nonatomic, assign ,readonly)CGFloat navigationBarAndStatusBarHeight;//导航条和电池电量条高度
@property(nonatomic, readonly)UILabel         *titleLabel;//自定义标题
@property(nonatomic, strong)UIView            *titleViewMu;//自定义titleView
@property(nonatomic, strong)UIFont            *titleFontMu;//标题字体
@property(nonatomic, assign)CGFloat            navigationBarTranslationY;//导航在y轴方向上偏移距离

属性虽然看起来有点多,但其实都是UINavigationBar和UIController的一些常用属性。实际用起来也很简单,如下代码所示就对一个UINavigationController内的所有UIViewController的UINavigationBar样式做了统一处理。

navigationController.barStyleMu                     = UIBarStyleBlack;//设置电池电量条的样式
navigationController.navigationBarBackgroundImageMu = [UIImage imageFromColorMu:[UIColor colorWithRed:250./255. green:25./255. blue:64./255. alpha:1.]];//导航条的图片
navigationController.navigationBarTintColor        = [UIColor whiteColor];//返回按钮箭头颜色
navigationController.titleColorMu                  = [UIColor whiteColor];//标题颜色
self.window.rootViewController                     = navigationController;

如果想控制单个UIViewController的样式,在 viewDidLoad 中通过分类配置想要的效果即可

@implementation DemoController
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationBarHiddenMu = YES;//隐藏
self.statusBarStyleMu = UIStatusBarStyleDefault;//更改电池电量条样式
}

MUNavigation 使用介绍

navigation_a.gif

MUKit - MUNavigation 轻量 简单 易用 的导航框架_第1张图片
navigation_h.gif

MUKit - MUNavigation 轻量 简单 易用 的导航框架_第2张图片
navigation_s.gif
MUKit - MUNavigation 轻量 简单 易用 的导航框架_第3张图片
navigation_t.gif

navigation_x.gif

其它框架

MUSignal - 最简洁易用的事件处理框架
MUTableViewManager - MVVM TableView 只需一个block就可显示列表
MUImageCache - 轻量简单的图片缓存方案

你可能感兴趣的:(MUKit - MUNavigation 轻量 简单 易用 的导航框架)