Відповіді:
Завдання-C:
self.navigationItem.hidesBackButton = YES;
Швидкий:
navigationItem.hidesBackButton = true
self.navigationItem.leftBarButtonItem = nil;
. Якщо ви чітко встановили ліву панель, ви можете скористатися self.navigationItem.leftBarButtonItem = nil;
. self.navigationItem.hidesBackButton = YES;
приховає кнопку Назад Елемент
Найкращий спосіб поєднувати їх, тому він приховає кнопку назад, навіть якщо ви встановите її вручну:
self.navigationItem.leftBarButtonItem=nil;
self.navigationItem.hidesBackButton=YES;
приховати кнопку назад із наведеним нижче кодом ...
[self.navigationItem setHidesBackButton:YES animated:YES];
або
[self.navigationItem setHidesBackButton:YES];
Також якщо у вас є звичай, UINavigationBar
то спробуйте нижче
self.navigationItem.leftBarButtonItem = nil;
У Свіфті :
Додайте це до контролера
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.setHidesBackButton(true, animated: false)
}
Використовуйте код:
self.navigationItem.backBarButtonItem=nil;
Не забувайте, що вам потрібно викликати його на об'єкті, що має контролер navi. Наприклад, якщо у вас контролер наві, який натискає на контролер панелі вкладок з RootViewController, виклик self.navigationItem.hidesBackButton = YES
RootViewController нічого не зробить. Вам би насправді довелося зателефонуватиself.tabBarController.navigationItem.hidesBackButton = YES
Не забувайте, що зараз у нас є слайд назад до жесту. Ви, ймовірно, хочете також видалити це. Не забудьте знову увімкнути його.
if ([self.navigationItem respondsToSelector:@selector(hidesBackButton)]) {
self.navigationItem.hidesBackButton = YES;
}
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
Додайте цей код у свій контролер перегляду
UIView *myView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, 300, 30)];
UIBarButtonItem *btnL = [[UIBarButtonItem alloc]initWithCustomView:myView];
self.navigationItem.leftBarButtonItem = btnL;
Мені, здається, ніщо з вищезгаданого не спрацювало, це не мало візуального ефекту. Я використовую рекламні дошки з видом, який "вбудований" у навігаційний контролер.
Тоді я на рівні коду додаю свої менюItems, і чомусь "backButton" видно при візуальній налагодженні ієрархії перегляду, а моє менюItem Icon відображається під невидимою "кнопкою" назад.
Я спробував налаштування, як було запропоновано в різних методах гачка, і це не мало ефекту. Тоді я спробував більш жорстокий підхід і переглянув підзагляд, який також не мав ефекту.
Я перевірив розміри значків і, здається, все в порядку. Звернувшись до Посібника з людського інтерфейсу Apple, я підтвердив, що мої значки є правильними. (На 1 піксель менший у моєму випадку 24px 48px 72px).
Найдивніша частина - це фактичне виправлення ...
Додаючи елемент BarButton, дайте йому заголовок, принаймні один символ , у моєму випадку пробіл.
Сподіваємось, що це комусь допоможе.
//left menu - the title must have a space
UIBarButtonItem *leftButtonItem = [[UIBarButtonItem alloc] initWithTitle:@" " <--THE FIX
style:UIBarButtonItemStylePlain
target:self
action:@selector(showMenu)];
leftButtonItem.image = [UIImage imageNamed:@"ic_menu"];
[self.navigationItem setLeftBarButtonItem:leftButtonItem];
спробуйте це -
self.navigationController?.navigationItem.hidesBackButton = true
У c # або Xamarin.ios це this.NavigationItem.HidesBackButton = true;
navigationItem.leftBarButtonItem = nil
navigationItem.hidesBackButton = true
якщо ви використовуєте цей блок коду всередині didLoad або loadView, працював, але не працював ідеально. Якщо ви уважно подивитеся, ви побачите, що кнопка "назад" приховується, коли ваш перегляд завантажується.
Яке ідеальне рішення?
Додайте компонент BarButtonItem з компонентView (Command + Shift + L) на цільовий панель навігації. Контролери.
Виберіть BarButtonItem set Title = "" на правій панелі