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 使用介紹