Контроллеры 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];
В качестве альтернативы, и я только излагаю это, потому что ваш вопрос не очень ясен, вы можете наложить Навигационный контроллер с Модальным Контроллером Представления. Кроме этого, я не совсем уверен, что бы вы еще имели в виду, поместив представление «поверх» контроллера навигации.