The first viewcontroller ***(A)*** contains a normal uinavigationcontroller with a backgroundcolor, then it pushes a new viewcontroller ***(B)*** with a transparent navcontroller. My first attempt is to modify the navcontroller appearance in ***B***, then reverse the original color for the uinavcontroller when B pops back to A. But it seems messed up the navcontroller appearance when I do transition push and pop between two views. So I came up with the idea is to replace the old one and add a complete brand new navcontroller. However the new navcontroller never display with the code below for some reasons ?

```
// Hide the old navigation controller
[self.navigationController setNavigationBarHidden:YES];

// Add a new one
UINavigationController *nav = [[UINavigationController alloc] initWithNavigationBarClass: [TransparentNavBarView class] toolbarClass: [UIToolbar class]];
[nav.navigationItem setLeftBarButtonItems: [self buttonBarItems]];
[nav willMoveToParentViewController: self];
[self.view addSubview: nav.view];
[self addChildViewController: nav];
[nav didMoveToParentViewController:self];

```

Any thoughts about my problem ? Thanks