将 NavigationController 添加到当前视图
Posted
技术标签:
【中文标题】将 NavigationController 添加到当前视图【英文标题】:Add NavigationController to current view 【发布时间】:2012-09-13 18:28:35 【问题描述】:我正在使用 UIScrollView 显示一些图像,当用户选择图像的一部分时,我需要呈现或推送另一个视图。此 ScrollView 仅以编程方式创建。 我如何以编程方式向它添加一个 navigationController 并呈现另一个视图?
我试过这种方式,但只给我以下错误:
不支持推送导航控制器'
StatesViewController * controller = [[StatesViewController alloc]initWithNibName:@"StatesViewController" bundle:nil];
UINavigationController * Navcontroller = [[UINavigationController alloc] initWithRootViewController:controller];
[self presentModalViewController: Navcontroller animated: YES];
【问题讨论】:
为什么不将 UIScrollView 嵌入到 UINavigationController 中? ScrollView 是以编程方式创建的,我不知道如何对其实现 navigationController 但是UIScrollView
是在什么环境下创建的?肯定它被添加为UIViewController
中已包含的UIView
的子视图,还是被分配为UIViewController
的the view
?只需更改 UIViewController
使其包含在 UINavigationController
中,然后您应该能够将新的视图控制器推送到堆栈上。 (如果您不希望用户看到,您甚至可以在第一个屏幕上隐藏UINavigationController
的导航项。)
【参考方案1】:
这可能会对您有所帮助。
NextViewController *nextViewController=[[NextViewController alloc]initWithNibName:@"NextViewController" bundle:nil];
UINavigationController *navBar=[[UINavigationController alloc]initWithRootViewController:nextViewController];
[self.navigationController presentModalViewController:navBar animated:YES];
【讨论】:
以上是关于将 NavigationController 添加到当前视图的主要内容,如果未能解决你的问题,请参考以下文章
如何将 TabBar 添加到基于 NavigationController 的 iPhone 应用程序
以编程方式将 NavigationController 添加到基于 TabBar 的应用程序
如何将导航栏(没有 NavigationController)和搜索栏添加到 TableView
将 UISearchBar 添加到嵌入到 NavigationController IOS6 中的 UICollectionviewController
添加到 NavigationController 时如何释放 ViewController 对象?
MBProgressHUD 添加到 navigationController.view 而不禁用 userInteraction