iPhone : so entfernen Sie die Rechte Taste von der navigation-bar in a view controller?
Ich habe eine benutzerdefinierte Navigationsleiste, das gleiche gilt für all die Ansichten durch die Implementierung der Methode unten:
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
// viewController.navigationItem.rightBarButtonItem = cancelButton;
//-- Adding INFO button to Navigation bar --
UIBarButtonItem *infoButton = [[UIBarButtonItem alloc]
initWithTitle:@"i"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(showInfo)];
infoButton.tag = 10;
self.navCntrl.topViewController.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:infoButton, nil];
self.navCntrl.navigationBar.tintColor = [UIColor colorWithRed:45/255.0 green:77/255.0 blue:67/255.0 alpha:1];
// NSLog(@"Inside implemented method");
}
des UINavigationControllerDelegate
.
In der oben genannten Methode habe ich Hinzugefügt, eine rechts-Taste, um das Navigations-Element. Nun möchte ich dies zu verbergen rechts-Taste in einer bestimmten Ansicht. Wie kann ich das erreichen ?
Danke.
- Legen Sie selbst.navigationItem.rightBarButtonItem=Nil; wenn Sie wollen, um es zu verstecken.
- Ich will ausblenden, Rechte Maustaste, warum verwenden leftbarbutton ?
- Sorry-Typ Fehler jetzt beheben.
- Schon versucht, funktioniert nicht.
InformationsquelleAutor Vipul J | 2013-05-23
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diese mit einer
In viewDidLoad, versuchen
Und in viewWillDisappear, vergessen Sie nicht, setzen Sie es zurück.
verwenden Sie diese
Einen schönen Weg, es zu tun wäre, um Ihre Ansicht-Controller implementiert ein Protokoll. Sie wählen den Namen, aber es kann auch etwas sein wie
CustomNavigationCustomization
, und haben eine einzige Methode:Dann, Sie könnte sich ändern Sie Ihre Methode, um so etwas wie dieses:
Beachten Sie, dass die Methode in der navigation-controller delegieren, ist sehr defensiv: es prüft, ob Ihre view-controller entspricht dem Protokoll, und nur dann ruft es die Methode. Auf diese Weise brauchen Sie nicht zu entsprechen, das Protokoll in den meisten Ihrer view-Controller, nur in denen, die Sie möchten, anpassen.
Nur prüfen, ob der viewController schob der tf die Art, wo Sie nicht möchten, dass der righ-bar-Taste:
Für diejenigen, die noch auf der Suche nach einer Antwort, dieser code war für mich in AppDelegate.m