Вопрос

Возможно, это глупый вопрос, но можно ли сохранить право UIBarButtonItem в нескольких представлениях, управляемых UINavigationController?У меня есть ряд взглядов, которые часто разделяют одно и то же право. UIBarButtonItem, но когда я добавляю новое представление в свой UINavigationController, мне приходится каждый раз переопределять кнопку, даже если она не изменилась.В основном меня беспокоит заметная анимация перехода от одного вида к другому, потому что одна и та же кнопка ненадолго исчезает, а затем снова появляется, что не нужно, поскольку реальных визуальных изменений нет.Должен ли я рассмотреть возможность просто добавления UIButton как подвид моего UINavigationBar и таким образом добиться эффекта «кнопки правой панели»?

Это было полезно?

Решение

Мы сделали это в нашем приложении.Мы создали один UIBarButtonItem, который мы переключаем с одного UIViewController на другой при навигации пользователя.Хитрость заключалась в использовании UINavigationControllerDelegate, NavigationController:willShowViewController:animated:метод.Мы устанавливаем для rightBarButtonItem исходящего UIViewController значение nil, а для rightBarButtonItem входящего контроллера — для вашей кнопки.Управлять этим сложно, но это работает.

Другие советы

UIBarButtonItems можно создавать как отдельные экземпляры в файле nib/xib.Если не происходит ничего особенного, что мешает вам создать кнопку в конструкторе интерфейсов, вам следует подключить ее к свойству rightBarButtonItem UINavigationItem для каждого контроллера представления, которому необходимо повторно использовать кнопку.Никакой цели c не требуется.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top