Skip to main content

How to set the Navigation Bar Color of the Tab Bar Configure Menu



alt text





As you can see the view I need to change is the provided view to customize the tabbar order. I want to change the color of the navigation bar (displaying "Konfigurieren" which means "Configure"), I already found out how to change the color of the "More"-Navigation Controller, but not this one. Can anybody help me with that?




Comments

  1. Use int AppDelegate

    tabBarController.moreNavigationController.navigationBar.tintColor = [UIColor blackColor];

    ReplyDelete
  2. I think what you are looking for is this (to do when you create your navigation controller, typically in your app delegate):

    UINavigationController *navigationController;
    ...
    navigationController.navigationBar.tintColor = [UIColor blackColor];

    ReplyDelete
  3. Can be easier (use in tab bar delegate):

    - (void)tabBarController:(UITabBarController *)tabBarController willBeginCustomizingViewControllers:(NSArray *)viewControllers {
    id modalViewCtrl = [[[tabBarController view] subviews] objectAtIndex:1];
    if([modalViewCtrl isKindOfClass:NSClassFromString(@"UITabBarCustomizeView")] == YES)
    ((UINavigationBar*)[[modalViewCtrl subviews] objectAtIndex:0]).tintColor = [UIColor redColor];
    }

    ReplyDelete
  4. Its Surely gonna work! :-)

    self.navigationController.navigationBar.tintColor = [UIColor blackColor];

    ReplyDelete
  5. Building off of the answer given by user486217, this may be even more defensively-coded:


    id modalViewCtrl = [controller.view.subviews objectAtIndex:1];
    if([modalViewCtrl isKindOfClass:NSClassFromStrin(@"UITabBarCustomizeView")] == YES) {
    id navigationBar = [[modalViewCtrl subviews] objectAtIndex:0];
    if ([navigationBar isKindOfClass:[UINavigationBar class]]) {
    ((UINavigationBar*)navigationBar).tintColor = [UIColor redColor];
    }
    }}

    ReplyDelete
  6. I was able to change the color of the Configure NavBar like this:


    Create a new class that inherits from UITabBarController.
    Implement this method:

    -(void)beginCustomizingTabBar:(id)sender
    {
    [super beginCustomizingTabBar:sender];

    // Get the new view inserted by the method called above
    id modalViewCtrl = [[[self view] subviews] objectAtIndex:1];

    if([modalViewCtrl isKindOfClass:NSClassFromString(@"UITabBarCustomizeView")] == YES)
    {
    UINavigationBar* navBar = [[modalViewCtrl subviews] objectAtIndex:0];

    [navBar setBarStyle:UIBarStyleBlackTranslucent];
    [navBar setTranslucent:YES];
    }
    }

    ReplyDelete

Post a Comment

Popular posts from this blog

Why is this Javascript much *slower* than its jQuery equivalent?

I have a HTML list of about 500 items and a "filter" box above it. I started by using jQuery to filter the list when I typed a letter (timing code added later): $('#filter').keyup( function() { var jqStart = (new Date).getTime(); var search = $(this).val().toLowerCase(); var $list = $('ul.ablist > li'); $list.each( function() { if ( $(this).text().toLowerCase().indexOf(search) === -1 ) $(this).hide(); else $(this).show(); } ); console.log('Time: ' + ((new Date).getTime() - jqStart)); } ); However, there was a couple of seconds delay after typing each letter (particularly the first letter). So I thought it may be slightly quicker if I used plain Javascript (I read recently that jQuery's each function is particularly slow). Here's my JS equivalent: document.getElementById('filter').addEventListener( 'keyup', function () { var jsStart = (new Date).getTime()...

Is it possible to have IF statement in an Echo statement in PHP

Thanks in advance. I did look at the other questions/answers that were similar and didn't find exactly what I was looking for. I'm trying to do this, am I on the right path? echo " <div id='tabs-".$match."'> <textarea id='".$match."' name='".$match."'>". if ($COLUMN_NAME === $match) { echo $FIELD_WITH_COLUMN_NAME; } else { } ."</textarea> <script type='text/javascript'> CKEDITOR.replace( '".$match."' ); </script> </div>"; I am getting the following error message in the browser: Parse error: syntax error, unexpected T_IF Please let me know if this is the right way to go about nesting an IF statement inside an echo. Thank you.