J'ai un UIViewController avec un UitailView en informatique et a également ajouté une barre d'Uinavigation. Comment puis-je ajouter et "éditer" bouton et un bouton "+" dans cette barre de manière programmatique? (J'ai essayé d'utiliser IB, mais le titre est toujours remplacé et que d'autres articles sont ajoutés) Je n'utilise pas d'uoinavigationController. Est-ce que mon UIViewController debout seul.
C'est ce que j'ai essayé sans succès: p>
5 Réponses :
Votre EDIT: FORT> P> OK, je suppose que vous avez une référence à votre puis définissez les boutons gauche et droite de cet élément: P> < Pré> xxx pré> Je n'ai pas essayé cela, mais je pense que cela devrait fonctionner. P> p> uiviewController code> a un
NaviggerItem code> Propriété. Vous pouvez définir les éléments de bouton de barres gauche et droit avec
self.navigentitem.leftbarbuttonitem = ... code> et
self.navigatertem.rightbarbuttonitem = ... code>
uinavigationbar code>?
Ensuite, je suppose que vous ajouteriez un seul
uinavigentitem code> à celui-ci: p>
C'est la même approche que Vfn non? Je n'ai pas travaillé. NaviggerItem est destiné à être utilisé lors de l'utilisation d'UinavigationController, ce qui n'est pas mon cas.
Oui, c'est la même approche. J'ai édité ma réponse et j'ai ajouté une autre solution possible.
Merci beaucoup, vous répondez est vraiment un coffre-fort beaucoup de temps, spécialement, vous avez fait la dernière hypothèse qui, vous avez une référence à la barre d'UINAVIGATION et non à la navigation, merci beaucoup :)
UIBarButtonItem *leftBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(theEditMethod:)]; [viewController.navigationItem setLeftBarButtonItem:leftBarButton animated:NO]; [leftBarButton release]; UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(theAddMethod:)]; [viewController.navigationItem setLeftBarButtonItem:rightBarButton animated:NO]; [rightBarButton release];
J'ai essayé cet intérieur de la méthode de la vue ViewDidLoad du contrôleur (et remplacé ViewController pour soi) mais ne fonctionne pas. ; (. NavigieItem est destiné à être utilisé lors de l'utilisation d'UinavigationController, ce qui n'est pas mon cas.
Pourquoi ne passez-vous pas à utiliser un contrôleur de navigation et définissez votre contrôleur de vue en tant que root de celui-ci. Cela vous rendra la vie plus facile!
Parce que, d'abord, je ne navigue pas. Et deuxièmement, je veux personnaliser sa largeur, quelque chose n'est pas possible avec UinavigationController. En fait, je travaille sur une autre façon de naviguer pour que l'objectif est de ne pas utiliser UinavigationController.
Eh bien, rappelez-vous qu'un UINAVIGATIONCONTROLLER est une sous-classe d'un UIViewController qui a une barre d'UInavigation ajoutée à son UIView. Si vous souhaitez créer votre propre moyen de naviguer, vous pouvez le faire en utilisant une uoinavigationController, n'utilisez tout simplement pas les contrôleurs de la vue Push et Pop. :). Si vous ne voulez pas utiliser la structure de navigation par défaut, je vous recommande d'utiliser un uitoolbar à la place d'une barre d'uervation.
YO n'a pas besoin d'ajouter uinavigentItem à la barre d'Uinavigation. Yo peut faire comme cet exemple:
Utilisez simplement la propriété NavigationItem de votre ViewController.
Comme ceci: p>
barres de navigation / boutons avec actions sur Swift 4.2, iOS 11, Xcode 10 strong> 1) strong> avec Storyboard Aller à l'éditeur> Intégrer> Barre de navigation forte> p> self.navigationController?.navigationBar.isHidden