最簡(jiǎn)單 最容易使用的導(dǎo)航框架
MUNavigation 導(dǎo)航框架原理(與其它導(dǎo)航框架的區(qū)別)
MUNavigation的原理是不直接對(duì)Navigation bar操作休涤,
而是把navigation bar的樣式存儲(chǔ)在UIViewController里报破,
當(dāng)UIViewController調(diào)用-(void)viewWillAppear:(BOOL)animated時(shí),
一次性設(shè)置當(dāng)前UIViewController的navigation bar樣式姻灶,
這樣每個(gè)UIViewController的navigation bar樣式就是相互獨(dú)立的,
互不影響。當(dāng)UIViewController沒有設(shè)置任何Navigation bar樣式時(shí),
他就會(huì)取UIViewController的UINavigationController(全局設(shè)置)的Navigation bar樣式,作為當(dāng)前UIViewController的Navigation bar樣式拯腮。
UIViewController只需設(shè)置一次Navigation bar的樣式代碼,
無需考慮UIViewController間的Navigation bar樣式影響渤闷。
大量節(jié)省代碼和時(shí)間疾瓮,集中精力處理業(yè)務(wù).
MUNavigation里只有一個(gè)UIViewController (MUNavigation)分類文件脖镀,里面可以配置一些屬性
@property(nonatomic, assign)BOOL navigationBarTranslucentMu;//透明導(dǎo)航欄
@property(nonatomic, assign)CGFloat navigationBarAlphaMu;//透明度
@property(nonatomic, assign)BOOL navigationBarHiddenMu;//隱藏導(dǎo)航欄
@property(nonatomic, strong)UIColor *navigationBarBackgroundColorMu;//背景顏色
@property(nonatomic, strong)UIImage *navigationBarBackgroundImageMu;//背景圖片
@property(nonatomic, assign)BOOL navigationBarShadowImageHiddenMu;//隱藏陰影線
@property(nonatomic, strong)UIColor *titleColorMu;//標(biāo)題顏色
@property(nonatomic, strong)UIColor *navigationBarTintColor;//控件顏色
@property(nonatomic, assign)UIStatusBarStyle statusBarStyleMu;//電池電量條,沒有導(dǎo)航控制器的情況下使用
@property(nonatomic, assign)UIBarStyle barStyleMu;//電池電量條飒箭,有導(dǎo)航控制器的情況下使用
@property(nonatomic, strong)UIImage *backIndicatorImageMu;//返回按鈕圖片
@property(nonatomic, assign)BOOL showBackBarButtonItemText;//是否顯示返回按鈕文字
@property(nonatomic, assign ,readonly)CGFloat navigationBarAndStatusBarHeight;//導(dǎo)航條和電池電量條高度
@property(nonatomic, readonly)UILabel *titleLabel;//自定義標(biāo)題
@property(nonatomic, strong)UIView *titleViewMu;//自定義titleView
@property(nonatomic, strong)UIFont *titleFontMu;//標(biāo)題字體
@property(nonatomic, assign)CGFloat navigationBarTranslationY;//導(dǎo)航在y軸方向上偏移距離
屬性雖然看起來有點(diǎn)多,但其實(shí)都是UINavigationBar和UIController的一些常用屬性蜒灰。實(shí)際用起來也很簡(jiǎn)單弦蹂,如下代碼所示就對(duì)一個(gè)UINavigationController內(nèi)的所有UIViewController的UINavigationBar樣式做了統(tǒng)一處理。
navigationController.barStyleMu = UIBarStyleBlack;//設(shè)置電池電量條的樣式
navigationController.navigationBarBackgroundImageMu = [UIImage imageFromColorMu:[UIColor colorWithRed:250./255. green:25./255. blue:64./255. alpha:1.]];//導(dǎo)航條的圖片
navigationController.navigationBarTintColor = [UIColor whiteColor];//返回按鈕箭頭顏色
navigationController.titleColorMu = [UIColor whiteColor];//標(biāo)題顏色
self.window.rootViewController = navigationController;
如果想控制單個(gè)UIViewController的樣式强窖,在 viewDidLoad 中通過分類配置想要的效果即可
@implementation DemoController
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationBarHiddenMu = YES;//隱藏
self.statusBarStyleMu = UIStatusBarStyleDefault;//更改電池電量條樣式
}
MUNavigation 使用介紹
navigation_a.gif
navigation_h.gif
navigation_s.gif
navigation_t.gif
navigation_x.gif
其它框架
MUSignal - 最簡(jiǎn)潔易用的事件處理框架
MUTableViewManager - MVVM TableView 只需一個(gè)block就可顯示列表
MUImageCache - 輕量簡(jiǎn)單的圖片緩存方案