iOS – как создать элемент навигационной панели в контроллере?

Я пытаюсь создать кнопку назад на панели навигации.

Вот мой код: –

UIBarButtonItem *barButton = [[[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleBordered target:self action:nil]autorelease]; self.navigationItem.rightBarButtonItem = barButton; 

Но он ничего не отображает на панели навигации.

Я использую UIViewController, а не UINavigationController.

Единственный способ добиться этого – это UINavigationController?

Любая помощь могла бы быть полезна.

Любая ссылка на хороший учебник будет замечательной.

Благодарю.

Без viewcontroller с контроллером навигации (т.е. viewController.navigationController! = Nil) вы не можете добавить его таким образом.

Одна вещь, которую вы можете сделать, это то, что она создается nib – это просто перетащить элемент панели на панель навигации и связать его с помощью IBAction.

Я бы рекомендовал вывести этот контроллер вида из контроллера nvigation – вы получите все эти вещи бесплатно:

 UIViewController *vc = [[UIViewController alloc] initWithNibName:nil bundle:nil]; UINavigationController *navCntrl1 = [[UINavigationController alloc] initWithRootViewController:vc]; 

Если у вас есть контроллер вида, созданный из файла NIB в Interface Builder, и на поверхности дизайна контроллера View есть панель навигации, самым простым способом сделать это было бы перетаскивание элемента кнопки панели из инспектора объектов прямо на правая сторона навигационной панели. Затем вы создадите IBAction в своем заголовке и реализации, к которым вы подключаетесь.

Я достигаю этого, вставляя кнопку непосредственно в UINavigationBar:

 [yourUINavBar insertSubview:yourButton atIndex:1]; 

Метод -navigationItem UIViewController работает только с UINavigationController или другими ограничениями UIViewController. Вам нужно будет получить доступ к UINavigationBar и установить элемент напрямую.

Если вы хотите иметь панель навигации и работать так, как вы ожидаете, создайте UINavigationController, используя ваш UIViewController в качестве контроллера корневого представления. Используйте этот UINavigationController, где вы сейчас используете UIViewController.

Для получения более подробной информации посетите сайт UINavigationController на developer.apple.com.

  • UIScrollView ведет себя по-разному, когда встроен в контроллер навигации
  • Навигационная панель навигационной панели ios сдвигается при нажатии нового регулятора вида
  • Изменение statusBar цвет фона при использовании большого заголовка для панели навигации на iOS 11
  • Переход между прозрачной навигационной панелью в полупрозрачный
  • Как показать кнопку на RootViewController UINavigationController?
  • Создайте пользовательскую кнопку возврата для UINavigationController
  • Перевернуть между двумя ViewControllers под тем же NavigationController
  • iOS - и UIToolbars
  • Как скрыть кнопку возврата UINavigationController?
  • Объединение UIViewController в UINavigationController
  • Изменить представление перед приложениемWillEnterForeground
  • Interesting Posts
    Давайте будем гением компьютера.