Uses category to allow you change UINavigationBar appearance dynamically
ZSNavigationBar
ZSNavigationBar uses category to allow you change UINavigationBar appearance dynamically.(supported iOS 11+ and iPhone X)
Installation
CocoaPods
- Swift:
- Add
pod 'ZSNavigationBar'
to your Podfile. - Run
pod install
orpod update
. - Import
ZSNavigationBar
.
- Objective-c:
- Add
pod 'ZSNavigationBar-oc'
to your Podfile. - Run
pod install
orpod update
. - Import
ZSNavigationBar
.
Manually
- Add all files under
Source-oc
orSource-swift
folder. - Link with required frameworks:
UIKit
. - If you use oc version, just import
UINavigationBar+custom.h
.
Requirements
- iOS 8+
- Xcode 9+
- swift 3.0+
- Objective-c
Usage
- Swift:
The category includes several methods that helps to change UINavigationBar's appearance dynamically:
func setCustomBackgroundColor(_ backgroundColor: UIColor)
func setCustomTranslationY(translationY: CGFloat)
func reset()
And usually in viewWillDisappear
, you should call this method to avoid any side effects:
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
self.navigationController?.navigationBar.reset()
}
- Objective-c:
First, import this lib:
#import "UINavigationBar+Custom.h"
The category includes several methods that helps to change UINavigationBar's appearance dynamically
- (void)zs_setBackgroundColor:(UIColor *)backgroundColor;
- (void)zs_setTranslationY:(CGFloat)translationY;
- (void)zs_reset;
And usually in viewWillDisappear
, you should call this method to avoid any side effects:
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self.navigationController.navigationBar zs_reset];
}