Постоянное свойство rightBarButtonItem свойства UINavigationItem - PullRequest
8 голосов
/ 29 апреля 2009

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

Ответы [ 2 ]

14 голосов
/ 13 мая 2009

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

1 голос
/ 01 августа 2009

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

...