by ltebean

UINavigationBar Category which allows you to change its appearance dynamically

4.5K Stars 717 Forks Last release: Not found MIT License 52 Commits 17 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:



This lib uses a hacky way to achieve the result, in the new iOS version, the structure of UINavigation is changed and this lib no longer works anymore, so please check these alternatives:


swift version


It is hard to change the appearance of UINavigationBar dynamically, so I made this lib to make the job easy.


1. Changing the background color:


2. Making navigation bar scroll along with a scroll view:



First, import this lib: ```objective-c

import "UINavigationBar+Awesome.h"

The category includes lots of method that helps to change UINavigationBar's appearance dynamically:
@interface UINavigationBar (Awesome)
- (void)lt_setBackgroundColor:(UIColor *)backgroundColor;
- (void)lt_setElementsAlpha:(CGFloat)alpha;
- (void)lt_setTranslationY:(CGFloat)translationY;
- (void)lt_reset;

You can call the various setter wherever you want, like:

[self.navigationController.navigationBar lt_setBackgroundColor:[UIColor blueColor]];

And usually in

, you should call this method to avoid any side effects:
- (void)viewWillDisappear:(BOOL)animated
    [super viewWillDisappear:animated];
    [self.navigationController.navigationBar lt_reset];

See the example for details~

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.