2013-11-01 5 views
1

У меня есть контроллер представления, который я установил непосредственно как rootViewController в моем окне.BarButtonItem ViewController не в UINavigationController

Однако, на мой взгляд контроллера, когда я печатаю

self.navigationItem 

Я заметил, что это не ноль. Не следует ли ему указывать, что он не встроен в UINavigationController. Что объясняет это поведение?

ответ

0

Все экземпляры UIViewController имеют свойство только для чтения, navigationItem класса UINavigationItem. UINavigationItem, не обязательно является элементом, а является способом настройки элементов (ов), которые могут использовать UINavigationController (или какой-либо другой контроллер представления).

Таким образом, хотя navigationItem имущество не может быть нулевым, его значения для title, prompt, titleView, leftBarButtonItems, rightBarButtonItems и т.д., скорее всего, будет nil по умолчанию.


Обратите внимание, что в то время как UINavigationController является наиболее распространенным потребителем navigationItem собственности в ее активном контроллере представления, это не обязательно единственное, что можно использовать navigationItem свойство. Вы можете создать свой собственный пользовательский контейнер контроллера просмотра, чтобы использовать это свойство своих контроллеров дочерних представлений для отображения пользовательского представления navigationItem.

Смежные вопросы