Einstellung der Titel einer Navigationsleiste innerhalb eines tab bar controller
Gut in meiner app habe ich eine Navigations-controller mit einer Tabelle anzuzeigen, und bei drücken einer Taste einen tab-controller wird geöffnet. In der ersten Registerkarte, möchte ich den Titel der Navigationsleiste gesetzt werden.
Hier ist ein Bild von meinem storyboard, nur um sicherzustellen, dass wir undestand jeder andere.
Dies ist mein code, die sollen arbeiten. Ich hatte diesen code, wenn Sie versuchen, öffnen Sie eine einzelne Ansicht und nicht eine Registerkarte controller und es funktionierte richtig. Also ich denke, ich muss etwas ändern.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
SkiCenter *myDetViewCont = [[SkiCenter alloc] initWithNibName:@"SkiCenter" bundle:[NSBundle mainBundle]];
myDetViewCont.ski_center = [centers objectAtIndex:indexPath.row];
UIStoryboard * storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
[[self navigationController] pushViewController:[storyBoard instantiateViewControllerWithIdentifier:@"SkiCenterIds"] animated:YES];
//[self.navigationController pushViewController:myDetViewCont animated:YES]; //"Pushing the controller on the screen"
[myDetViewCont release]; //releasing controller from the memory
myDetViewCont = nil;
}
Wo Skicenter
ist der name der Klasse, für mein erstes tab und SkiCenterIds
ist die id meiner tab-controller im storyboard.
Code in Skicenter
.m:
- (void)viewDidLoad
{
[super viewDidLoad];
//Do any additional setup after loading the view from its nib.
self.navigationItem.title = ski_center;
}
aber ich sehe keinen Titel. Also, was habe ich falsch gemacht?
Ich habe auch versucht, dieses:
[self.navigationController setTitle:@"Live"];
oder
self.title=ski_center;
den ski_center hat Wert, denn es ist gedruckt in der Regel in der NSLog.
Ja, er tut, dass
InformationsquelleAutor ghostrider | 2012-09-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einfach!
InformationsquelleAutor nithinreddy
Hinzufügen auf ghostrider ' s-Lösung, in der mytabbarcontroller.m selbst.navigationItem.Titel hat bei mir nicht funktioniert. Ich habe einen NavigationController, deren detail-Ansicht ist eine TabController und das ist, was ich in meinem ersten Registerkarte Umsetzung
Dies sollte die richtige Antwort. Schön gemacht. Vielen Dank für die Hilfe.
InformationsquelleAutor Rip
Ok, nur, damit Sie wissen, ist es sehr schlechte Praxis, um eine
UITabBarController
innerhalb einerUINavigationController
- Apple empfiehlt für gutes UI-design, nur solltest du schon einmal eineUINavigationController
innerhalb einerUITabBarController
- und nicht Umgekehrt. So oder so, Sie sollten in der Lage sein, den Titel zu ändern von derUITabBarController
wie diese;Funktionieren sollte.
Ich aktualisiert meine Antwort, bitte haben Sie einen Blick und sehen, ob das funktioniert.
Es hat nicht funktioniert. was empfehlen Sie mir zu tun? Ich habe versucht, diese Struktur, weil aus einer Tabelle die ich öffnen möchte ein tab-Menü und nicht der erste Bildschirm, öffnet sich ein tab.
Wenn es mir war, ich hätte vergessen die Registerkarte Ansicht und öffnen Sie einfach eine andere Tabelle anzeigen mit 1-5 verschiedenen Optionen, die Sie würde in der Regel auf Ihre tabs, dann jede Zeile auf die neuen Seiten. Alternativ können Sie öffnen einen anderen viewcontroller, und erstellen Sie einige Tasten auf Sie, wieder die Verknüpfung jeder Taste, um Ihre neuen Seiten. Diese beiden Lösungen sind besser als die tab-view-controller für das, was Sie brauchen es für. So, der navigation-controller kann leicht zeigen, Titeln und der Prozess wird mehr Sinn machen, den Endbenutzer.
InformationsquelleAutor Wasim
In swift 3
InformationsquelleAutor Jigar Thakkar
In Swift 4 und vor
InformationsquelleAutor raed
Dies ist für mich arbeiten
Aus irgendeinem R&D auf internet
Sie zu Durchlaufen haben, die navigationItem sich die Kette.
Der UINavigationController zeigt die navigationItem gehören zu seinen topViewController die UITabBarController.
Die UITabBarController zeigt der navigationItem-Titel in seiner tabs. Also, was Sie tun müssen ist, stellen Sie sicher, dass der tabBarController ist navigationItem ist es selectedViewController ist navigationItem
So zur Erinnerung:
InformationsquelleAutor Suraj K Thomas
versuchen Sie dies:
InformationsquelleAutor Fab1n
Im Grunde weiß ich nicht, ob Sie gar nicht bemerkt, aber ich bekam es so:
Wies ich meine tab-bar-Controller eine neue Klasse.
Habe ich Folgendes:
hinzufügen app delegieren.h
hinzufügen mainmap.m
und in mytabbarcontroller.m
InformationsquelleAutor ghostrider