Mar*_*one 5 iphone uiviewcontroller uinavigationcontroller ios ios6
我确信这已经被无数次询问了,虽然答案仍然没有找到,但我已经看到了类似的问题.
我有一个具有多个视图控制器的应用程序,并且作为一个好的视图控制器执行自己的任 但是我发现自己陷入了困境,我无法从一个视图控制器切换到另一个视图控制器.我见过很多人说"使用导航控制器",但这不是我想要使用的,因为不需要的视图元素是视图控制器的一部分.
我做了以下事情并取得了有限的成功.视图控制器已切换但视图未加载,我得到一个空视图:
- (IBAction)showLogin:(id)sender
{
PPLoginViewController *login = [[PPLoginViewController alloc] initWithNibName:@"PPLoginViewController" bundle:nil];
PPAppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
appDelegate.window.rootViewController = login;
[self.view insertSubview:login.view atIndex:0];
}
Run Code Online (Sandbox Code Playgroud)
B.S*_*.S. 14
使用UINavigationController作为rootViewController创建iOS应用程序的良好基调.
据我所知,不需要的视图元素是一个navigationBar?你可以手动隐藏它,设置:
[self.navigationController setNavigationBarHidden:YES];
Run Code Online (Sandbox Code Playgroud)
关于你的情况,如果你想改变你当前的viewController(针对iOS 6),你可以只提出一个新的:
[self presentViewController:login animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
或者添加child(这是添加和删除子项的好例子):
[self addChildViewController:login];
Run Code Online (Sandbox Code Playgroud)
为什么要将UINavigationController设置为root?
1)首先,它使您的应用程序可见的viewcontrollers结构良好.(特别是在iPhone上需要它).您可以随时获取堆栈并弹出(或移动)到您想要的任何viewController.
2)为什么我总是将导航作为根导航,因为它使应用程序更多supportable,因此,为应用程序添加一些功能将花费更少的代码更改.
如果你创建一个包含很多子节点的(root)视图控制器,或者显示其他视图控件,它将使你的代码真的很难支持,并使像gode-object这样的东西.
| 归档时间: |
|
| 查看次数: |
11981 次 |
| 最近记录: |