Как разместить представление на контроллере навигационных представлений? - PullRequest
0 голосов
/ 09 марта 2010

Я проектирую пользовательский интерфейс для приложения iPhone. Как разместить объект UIView на ViewController для Navigation?

Предположим, что viewObj - это объект UIView, а uiNavControllerObj - это объект контроллера навигации. Каков синтаксис для помещения viewObj в uiNavControllerObj?

UIView* viewObj;
NavigationController* uiNavControllerObj;

Отредактированный вопрос:

Can i achieve this by this syntax? 
uiNavControllerObj.view = viewObj;// is this the proper way to achieve 
[rootviewObj addSubview:uiNavControllerObj.view]; 
[uiwindowObj addSubview:rootViewObj];

1 Ответ

1 голос
/ 09 марта 2010

Контроллеры UINavigation не имеют дело с UIViews, они имеют дело с UIViewControllers.

Типичное использование, если ваш UIViewController является корневым (первым) контроллером представления:

MyRootViewController *myRootViewController = [[MyRootViewController alloc] init];
UINavigationController *navController = [UINavigationController initWithRootViewController:myRootViewController];

UINavigationController использует стек для отслеживания ViewControllers, которыми он управляет. Если вы хотите поместить другой в стек (например, развернуть его через контроллер табличного представления), вы должны сделать это изнутри контроллера представления сверху стека следующим образом:

AnotherViewController *anotherController = [[AnotherViewController alloc] init];
// every view controller has a reference to it's Navigation Controller
[self.navigationController pushViewController:anotherController];

В качестве альтернативы, и я только излагаю это, потому что ваш вопрос не очень ясен, вы можете наложить Навигационный контроллер с Модальным Контроллером Представления. Кроме этого, я не совсем уверен, что бы вы еще имели в виду, поместив представление «поверх» контроллера навигации.

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