最简单 最容易使用的导航框架
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 使用介绍
其它框架
MUSignal - 最简洁易用的事件处理框架
MUTableViewManager - MVVM TableView 只需一个block就可显示列表
MUImageCache - 轻量简单的图片缓存方案