Définir le titre d'une barre de navigation à l'intérieur d'un onglet de la barre de contrôleur
Bien dans mon application j'ai une manette de navigation avec une vue de la table, et lorsque vous appuyez sur un bouton de l'onglet contrôleur s'ouvre. Dans son premier onglet, je veux le titre de la barre de navigation à définir.
Voici une image de mon storyboard juste pour s'assurer que nous comprenons les uns les autres.
C'est mon code qui censés travailler. J'avais utilisé ce code, lorsque vous essayez d'ouvrir une vue unique et pas un onglet controller et il a été fonctionne correctement. Donc je suppose que je dois changer quelque chose.
- (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;
}
Où Skicenter
est le nom de la classe pour mon premier onglet et SkiCenterIds
est l'identifiant de mon onglet contrôleur dans le storyboard.
Code dans Skicenter
.m est:
- (void)viewDidLoad
{
[super viewDidLoad];
//Do any additional setup after loading the view from its nib.
self.navigationItem.title = ski_center;
}
mais je ne vois pas à quel titre. Donc ce que j'ai fait de mal?
J'ai aussi essayé ceci:
[self.navigationController setTitle:@"Live"];
ou
self.title=ski_center;
la ski_center a de la valeur parce qu'il est imprimé normalement dans le NSLog.
Oui, il le fait
OriginalL'auteur ghostrider | 2012-09-08
Vous devez vous connecter pour publier un commentaire.
Simple!
OriginalL'auteur nithinreddy
Ajoutant à ghostrider de la solution, dans le mytabbarcontroller.m auto.navigationItem.le titre n'a pas fonctionné pour moi. J'ai un NavigationController dont la vue de détail est un TabController et c'est ce que j'ai dans mon premier onglet mise en œuvre
Cela devrait être la bonne réponse. C'est joliment fait. Merci pour l'aide.
OriginalL'auteur Rip
Ok si vous le savez, c'est une très mauvaise pratique de mettre un
UITabBarController
à l'intérieur d'unUINavigationController
- Apple recommande pour une bonne conception de l'INTERFACE utilisateur que vous ne devez jamais mettre unUINavigationController
à l'intérieur d'unUITabBarController
et non l'inverse. De toute façon, vous devriez être en mesure de changer le titre de laUITabBarController
comme cela;Qui devrait fonctionner.
J'ai mis à jour ma réponse, veuillez jeter un oeil et voir si cela fonctionne.
Il ne fonctionne pas non plus. que suggérez-vous de moi? J'ai essayé cette structure, car à partir d'un tableau que je veux ouvrir un menu d'onglet et non pas le premier écran qui s'ouvre à un onglet.
Si c'était moi, je voudrais oublier l'onglet affichage et il suffit d'ouvrir une autre table avec vue 1-5 différentes options que vous aurait normalement sur vos onglets, puis le lien entre chaque ligne de vos nouvelles pages. Sinon, vous pouvez ouvrir un autre viewcontroller et de créer des boutons, encore une fois, relier chaque bouton pour vos nouvelles pages. Ces deux solutions sont meilleures que l'onglet view controller pour ce que vous en avez besoin pour. De cette façon, la manette de navigation pouvez facilement afficher les titres et le processus aura plus de sens pour l'utilisateur final.
OriginalL'auteur Wasim
Dans swift 3
OriginalL'auteur Jigar Thakkar
Dans Swift 4 et au-dessus de
OriginalL'auteur raed
Ce travail est pour moi
De certains R&D sur internet
Vous devez passer les navigationItem de la chaîne.
Le UINavigationController montre la navigationItem appartenant à son topViewController qui est UITabBarController.
Le UITabBarController montre la navigationItem titres dans ses onglets. Donc, ce que vous devez faire est de s'assurer que le tabBarController de navigationItem c'est que c'est selectedViewController de navigationItem
Donc pour récapituler:
OriginalL'auteur Suraj K Thomas
essayez ceci:
OriginalL'auteur Fab1n
Fondamentalement, je ne sais pas si vous l'avez pas remarqué, mais je l'ai eu à travailler comme ça:
J'ai confié mon tab bar Controller une nouvelle classe.
Je n'ai suivantes:
ajouter à délégué d'application.h
ajouter à mainmap.m
et dans mytabbarcontroller.m
OriginalL'auteur ghostrider