The following are some useful snippets to customize UINavigationController. Applying Custom Colors To NavigationBar [self.navigationController.navigationBar setBarTintColor:[UIColor redColor]]; Removing The Bottom Boarder From UINavigationBar [[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault]; [[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]]; Add UISearchBar To UINavigationBar _searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(-5.0, 0.0, 320.0, 44.0)]; _searchBar.autoresizingMask = UIViewAutoresizingFlexibleWidth; _searchBar.searchBarStyle = UISearchBarStyleMinimal; _searchBar.placeholder = @""; _searchBar.delegate = self; _searchController = [[UISearchDisplayController alloc] initWithSearchBar:_searchBar contentsController:self]; _searchController.delegate = (id)self; _searchController.searchResultsDataSource = self; _searchController.searchResultsDelegate = self; self.navigationItem.titleView = _searchBar;