Кнопка возврата в UINavigationBar Скрыть проблему

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

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

EDIT:

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

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

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

Picture with back buttonPicture without

Ответ 1

Установить self.navigationItem.backBarButtonItem = nil;

Ответ 2

viewController.navigationItem.hidesBackButton = YES;

Это отлично работает!

Ответ 3

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

[self.navigationItem setHidesBackButton:YES animated:NO];
self.navigationItem.titleView.center = self.navigationController.navigationBar.center;

Ответ 4

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

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

Ответ 5

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

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