2016-04-09 6 views
1

Ich versuche, eine Reload-Schaltfläche in die obere Leiste eines Navigationscontrollers ohne Erfolg hinzuzufügen. HierWie füge ich einem UINavigationController auf iOS eine linke Schaltfläche hinzu?

ist der Header:

@interface PropertyViewController : UINavigationController { 

} 

Hier ist, wie ich versuche, es hinzuzufügen:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { 
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { 
     UIBarButtonItem *reload = [[UIBarButtonItem alloc] initWithTitle:@"Show" style:UIBarButtonItemStylePlain 
              target:self action:@selector(reloadPropertyList:)]; 
     self.navigationItem.leftBarButtonItem = reload; 
    } 
    return self; 
} 
+0

Warum sind Sie Navigationscontroller Subklassen hier? – Wain

+0

dann, wie und wo hinzufügen? –

+0

Sie haben nicht erläutert, was alle View-Controller sind, aber View-Controller geben die anzuzeigenden Elemente an und der Navigations-Controller kümmert sich um deren Anzeige – Wain

Antwort

0

Sie sollten benutzerdefinierte Navigationsleiste. Navigationsleiste ausblenden und benutzerdefinierte Einstellungen vornehmen Ziehen Sie UIView und fügen Sie eine Schaltfläche hinzu.

Wenn Sie Navigationsleiste halten wantto als Sie Werkzeugleiste verwenden können wie, here

0

Die Methode initWithNibName: (NSString *) nibNameOrNil Bundle: (NSBundle *) nibBundleOrNil wird nicht automatisch aufgerufen, so müssen Sie eine Instanz von PropertyViewController Klasse erstellen wie unter

PropertyViewController *propertyVC = [[PropertyViewController alloc] initWithNibName:@"your_nib_if_exist" bundle:nil]; 
//pass nib name if nib exist otherwise pass nil 
Verwandte Themen