En essayant de programmation pour ajouter un bouton à UINavigationController mais il ne se montre jamais en place
J'ai créé par programmation certains UINavigationControllers et les a ajoutés à un UITabBarController. Tout semble fonctionner très bien, mais je voulais ajouter un bouton annuler de la manette de navigation, mais il ne se montre jamais. J'ai essayé plusieurs façons mais je n'arrive pas à affecter l'affichage des éléments de navigation à tous et j'ai suivi plusieurs exemples d'ici et d'autres sites mais rien ne se passe.
MyTableViewController *mtvc = [[MyTableViewController alloc] init];
UINavigationController *myNavController = [[[UINavigationController alloc] initWithRootViewController:mtvc] autorelease];
myNavController.navigationBar.barStyle = UIBarStyleBlackOpaque; //this works
[mtvc release];
//TODO: figure out why added buttons aren't showing
UIBarButtonItem *closeButton = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(shutDown)] autorelease];
myNavController.navigationItem.leftBarButtonItem = closeButton; //never shows up
J'ai aussi essayé d'ajouter le bouton de cette façon
[myNavController.navigationItem setLeftBarButtonItem:closeButton animated:NO]; //also doesn't do anything
J'ai commencé à me frustrer, et j'ai également essayé d'autres choses, juste pour voir si je pouvais influer sur quoi que ce soit, mais en vain
myNavController.title = @"test"; //does nothing
J'ai essayé de le faire avant et après les navigations contrôleurs ont été ajoutés à la UITabBarController et qui n'a pas aidé.
J'ai aussi essayé de rightBarButtonItem et essayé d'utiliser initWithTitle: au lieu de initWithBarButtonSystemItem.
Quelqu'un merci de m'éclairer? Clairement, je le fais ce dans le mauvais sens.
OriginalL'auteur digarok | 2011-02-21
Vous devez vous connecter pour publier un commentaire.
Essayez d'ajouter les boutons de la barre dans le
loadView
méthode deMyTableViewController
comme les suivantes.Je suppose que cela devrait fonctionner.
init
méthode qui n'a de sens que cela ne fonctionnerait pas. Le faire à l'intérieur de laloadView
méthode a fonctionné comme un champion.Remarque: Il n'aimait pas que je l'aide
autorelease
suivie par un expliciterelease
. Devrait probablement être l'un ou l'autre.Ouais.. Désolé.. C'est de ma faute.. je n'ai pas remarqué les autorelease là..
+1 pour la bonne réponse @digarok,le gars qui ne comprend pas de soi.
OriginalL'auteur EmptyStack
Avez-vous essayé de définir le bouton de la vue actuelle du contrôleur d'élément de navigation comme ceci:
OriginalL'auteur gerry3
Si vous avez besoin de le faire dans Swift 3.0, c'est simple comme ça:
OriginalL'auteur Abner Terribili