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

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

Вот мой код: –

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

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

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

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

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

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

Благодарю.

6 Solutions collect form web for “iOS – как создать элемент навигационной панели в контроллере?”

Без 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.

  • Как создать последовательность модальных / push-сегментов между несколькими контроллерами представления, чтобы сохранить все push / modal-представления в одном стеке? (используя наконечники)
  • вложенная анимация push может привести к повреждению панели предупреждения
  • Предотвращение отклонения клавиатуры при нажатии контроллера просмотра
  • Как добавить 2 кнопки в UINavigationbar с правой стороны без IB?
  • Просмотр заблокирован UITransitionView после представления
  • Встроенная кнопка обратной связи UINavigationController не работает
  • Несколько нажатий Segues для одного контроллера просмотра в раскадровке
  • iOS Tabbar - переход на первую вкладку и первый ViewController
  • Пользовательский переход Viewcontroller не изменяет размер
  • Сбой при загрузке MKMapView
  • Есть ли способ изменить высоту UINavigationBar в Storyboard без использования UINavigationController?
  • Interesting Posts

    Доступ к файлам iCloud Drive из приложения

    XCode 4.3.2, проблема с запуском на симуляторе

    Как связать самостоятельно размещенный контент с транзакцией?

    Проверьте штырь, не покидая брелок iOS

    Обрабатывайте различные контроллеры представлений в приложении: создание контроллеров пользовательского содержимого

    testflight URL маркетинга для приложений скрытого режима

    Swift 3 enums утечки памяти, когда класс содержит массив

    Бесконечный прокручиваемый фон в SpriteKit

    Интеграция linphone в iOS

    Предупреждение о двух навигационных контроллерах, которые представлены как модальные

    Сортировка массива NSDates с использованием функции сортировки

    Прокрутка ручек с UIView поверх UIScrollView, ScrollView wont Scroll

    Выделение текста UITextView при центрировании текста

    Замена корневого контроллера UIWindow при использовании перехода, кажется, протекает

    NSURLSession уведомляет о завершении всех задач

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.