Question

C'est peut-être une question stupide, mais est-il possible de garder un droit UIBarButtonItem sur plusieurs vues gérées par un UINavigationController ? J'ai une progression de vues qui partagent souvent le même droit UIBarButtonItem , mais lorsque je pousse une nouvelle vue sur mon UINavigationController , je dois redéfinir le bouton à chaque fois, même si ça n'a pas changé. Généralement, l'animation de transition notable d'une vue à l'autre est ce qui me dérange, car le même bouton disparaît brièvement puis réapparaît, ce qui est inutile car il n'y a pas de changement visuel réel. Devrais-je simplement envisager d'ajouter un UIButton en tant que sous-vue de mon UINavigationBar et de réaliser un "bouton de barre droit" " effectuer de cette façon?

Était-ce utile?

La solution

Nous l'avons fait dans notre application. Nous avons créé un seul UIBarButtonItem que nous échangeons d'un UIViewController à un autre lorsque l'utilisateur navigue. L'astuce consistait à utiliser UINavigationControllerDelegate, la méthode navigationController: willShowViewController: animated:. Nous définissons rightBarButtonItem UIViewController sortant sur nil et rightBarButtonItem du contrôleur entrant sur votre bouton. C'est difficile à gérer, mais cela fonctionne.

Autres conseils

UIBarButtonItems peut être créé en tant qu’instance autonome dans un fichier nib / xib. Si rien d’exceptionnel ne vous empêche de construire le bouton dans le générateur Interface, vous devez le connecter à la propriété rightBarButtonItem de UINavigationItem pour chaque contrôleur de vue devant réutiliser le bouton. Aucun objectif c requis.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top