2012-11-21 14 views

Antwort

1

Versuchen this-

  1. erstellen Unterklasse (CustomNavigationController) von UINavigationController & es verwenden, um Ihre Ansicht-Controller zu drücken.
  2. In CustomNavigationController erstellen UIBarButtonItem in init oder in viewDidLoad. Fügen Sie dazu target & action hinzu.
  3. Implementieren Sie UINavigationControllerDelegate Delegaten in CustomNavigationController und setzen Sie barButtonYouCreated als Rechts oder Linksleiste Schaltfläche Element für jede Ansicht Controller in Delegate-Methode.

Verwenden

- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated { 
    viewController.navigationItem.leftBarButtonItem = barButtonYouCreated; 
} 

oder

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 
0

können Sie UINavigationControllerDelegate verwenden, wie unten:

- (void)navigationController:(UINavigationController *)navigationController 
     willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 

Und in diesem Delegatmethode können Sie überprüfen, eine barButtonItem hinzufügen Navigationsleiste.

0

Sie können eine globales UITabBarController in UINavigationController erstellen, die Ihren Push-Controller enthält, dann Ihren Push-Controller navigationbar

versteckt machen
0

Oder versuchen, eine UINavigationController Kategorie verwenden, und das hintere Element anpassen, also egal, wie oft sie gedrückt ist , legen Sie einfach die gleiche Ansicht für das Zurück-Element von NavigationController fest. Etwas wie:

@implementation UIViewController (CustomNavigation) 

- (void)setLeftBarButtonItem:(UIButton*)leftview 
{  
    UIBarButtonItem *customItem = [[[UIBarButtonItem alloc] initWithCustomView:leftview] autorelease]; 
    self.navigationItem.leftBarButtonItem = customItem; 
    [(UIButton*)self.navigationItem.leftBarButtonItem.customView addTarget:self.navigationController action:@selector(popViewControllerAnimated:) forControlEvents:UIControlEventTouchUpInside]; 
} 
Verwandte Themen