Кнопка Назад в UINavigationBar Скрыть проблему - PullRequest
10 голосов
/ 05 августа 2011

Когда я использую это: [self.navigationItem setHidesBackButton:YES animated:NO];, чтобы скрыть кнопку «Назад» в панели навигации, мой заголовок не центрируется.Он печатает как кнопка все еще там.

кто-нибудь знает, почему это происходит и как это исправить?

РЕДАКТИРОВАТЬ:

Моя программа выглядит так: мой rootViewControllerявляется контроллером навигации, и я установил, что панель навигации скрыта.Затем я нажимаю на другой UIViewController, который заставляет панель навигации появляться снова, но заставляет кнопку «назад» исчезать.

Я пробовал настройку self.navigationItem.backBarButtonItem = nil;, но она не приводила к исчезновению кнопки.

Вот несколько фотографий для справки:

Picture with back button Picture without

Ответы [ 5 ]

55 голосов
/ 16 ноября 2011
viewController.navigationItem.hidesBackButton = YES;

Это прекрасно работает!

13 голосов
/ 08 мая 2012

Просто использовал это, и это работает.

[self.navigationItem setHidesBackButton:YES animated:NO];
self.navigationItem.titleView.center = self.navigationController.navigationBar.center;
6 голосов
/ 05 августа 2011

Набор self.navigationItem.backBarButtonItem = nil;

1 голос
/ 05 августа 2011

Свойство, которое вы устанавливаете, относится к представлению «self», когда оно является элементом «back» в стеке контроллера навигации.Я предполагаю, что вы устанавливаете это в своем контроллере представления «рабочий календарь», он не будет работать, если у этого контроллера нет дочерних представлений.

Попробуйте вместо этого установить свойство leftButtonItem панели навигации в nil.

1 голос
/ 05 августа 2011

Проблема, с которой вы сталкиваетесь, заключается в том, что вы не меняете композицию панели навигации, а просто скрываете ее часть. Когда вы устанавливаете скрытое значение своей кнопки, вы делаете это, скрывая ее, а не удаляя ее. Это все еще займет место. Чтобы решить вашу проблему, вам нужно удалить кнопку, а затем, когда вы хотите, чтобы использование могло перемещаться, просто добавьте кнопку назад.

Реально, однако, если у вас возникают проблемы с отображением, подобные этой, вам следует пересмотреть дизайн пользовательского интерфейса панели навигации и попытаться придумать более эффективный заголовок кнопки.

...