о контроллере навигации в представлении контроллера - PullRequest
0 голосов
/ 20 октября 2011

В appdelagate у нас есть UINavigationController и контроллеры представления.тогда в нем мы можем инициализировать контроллер навигации с корневым контроллером представления.И я понимаю, зачем они тоже нужны.

Однако в примере кода моего справочника (Разработка приложений iPhone SDK, автор: Джонатан Здзярски) все классы контроллера представления были добавлены с контроллером навигации в качестве свойства, в то время какони, кажется, никогда не используются.Так в чем же смысл иметь их как свойство в классах контроллера представления?

например,

@interface XYZViewController: UIViewController
{
  UITextView *textView;
  UIButton *button;
  .....
  .....
  UINavigationController *navigationController;
}

-(void)...

.....
...
@end

Еще один вопрос:

Все экземпляры UIViewController могут иметь свойство "navigationItem"как только они пройдены.так к чему относится этот элемент навигации?это относится к навигационному контроллеру, который управляет контроллером представления?

1 Ответ

1 голос
/ 20 октября 2011

UIViewController имеет свойство navigationController, которое обрабатывается платформой и указывает на родительский элемент UINavigationController, если у контроллера представления есть.

Для получения дополнительной информации см. Документацию:

http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIViewController_Class/Reference/Reference.html

В той же документации вам сообщат, что navigationItem является UINavigationItem объектом, который представляет контроллер представления на панели навигации.Вы можете настроить его внешний вид, например, заголовок, приглашение, поведение кнопки «Назад» и т. Д.

Тем не менее, я понятия не имею, почему ваша книга добавляет свойство navigationController к UIViewController подклассам.Он был добавлен в iOS 2.0, уже давным-давно ... В любом случае вам не нужно добавлять его, так как он предоставляется в классе UIViewController.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...