我第一次喜欢加载简单的viewController,它显示了一些选项,然后点击一些按钮,我想加载navigationController或tabbarController取决于按钮点击。我怎样才能做到这一点 ?如何将第一个简单的singleview viewController更改为navigation viewController?
回答
我想在切换视图时替换窗口上的根视图控制器。
例如在我的应用程序中,我先显示一个加载屏幕,然后将视图切换到登录屏幕。
要做到这一点,你需要你的应用程序委托的引用,那么你可以访问该窗口属性和更换根视图控制器:在appdelgate
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
LoginViewController *loginVC = [[LoginViewController alloc] init];
appDelegate.window.rootViewController = loginVC;
点击here。这个链接是关于如何创建导航控制器你想要的。我在这个链接中编写了代码。我希望这会对你有所帮助。
我不想在导航控制器中的第一个视图RootViewController的 – 2012-04-25 09:13:12
在你simpleViewController:
- (IBAction) yourButtonAction:(id)sender
{
UIViewController *Vc = [[theViewControllerYouWantToShow alloc]init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:Vc];
[self presentModalViewController:nav animated:YES];
}
编辑:
您有三个选项,以显示您的viewController内容:上面使用presentModalViewController:
为例
将viewController视图添加为当前viewController的子视图。 你的情况:
[simpleViewController.view addSubView:nav.view];
3.or如果你简单的ViewController是导航根的viewController你可以把其他viewControllers它的导航堆栈。
我不使用什么presentModelviewController,因为我需要做一些更多的过程和我的应用程序需要改变viewControllers很多时候 – 2012-04-25 08:49:36
好的向我解释你想要做什么? – 2012-04-25 09:18:09
我第一次在该viewController的视图呈现简单的viewController我有三个按钮点击按钮我想加载navigationViewController或TabBarViewController – 2012-04-25 09:22:00
在appdelegate.h
@property (strong, nonatomic) id<UIApplicationDelegate>delegate;
。 m
@synthesize delegate;
在我的第一个viewController的.h文件中
AppDelegate *myappDelegate;
-(IBAction)start:(id)sender;
在我第一次的viewController的.m文件
-(IBAction)start:(id)sender
{
NSLog(@"Start Button is clicked");
mvc = [[MasterViewController alloc]initWithNibName:@"MasterViewController" bundle:nil];
myappDelegate = [[UIApplication sharedApplication]delegate];
myappDelegate.navigationController = [[UINavigationController alloc]initWithRootViewController:mvc];
myappDelegate.window.rootViewController = myappDelegate.navigationController;
[myappDelegate.window makeKeyAndVisible];
}
- 1. 从第二个ViewController到第一个ViewController
- 2. 如何从第三个viewController返回到第一个viewcontroller?
- 3. 单击第一个ViewController中的按钮更改第二个ViewController的标签文本
- 4. 如何将对象从一个ViewController传递到另一个ViewController
- 5. 我怎么回到第一个viewController从第三个viewController
- 6. 从第二个ViewController回到第一个ViewController
- 7. 一个ViewController转到另一个ViewController
- 8. 为什么我无法将viewcontroller推送到下一个viewcontroller?
- 9. 更改NIB中的ViewController
- 10. 如何更改viewController支持的方向?
- 11. 辞退一个的viewController到especific的viewController
- 12. 如何将单独的TableView单元链接到另一个ViewController
- 13. UIBarButtonItem更改viewController的方向
- 14. iPhone ViewController影响另一个ViewController的IBOutlet
- 15. 在另一个ViewController中更改TableViewController中的单元格标题
- 16. 从子ViewController报告更改
- 17. 为什么我不能更改ViewController?
- 18. 在按钮上更改viewController单击
- 19. ViewController异常更改大小
- 20. Xcode:如何更改一个ViewController的格式并让它们全部更改
- 21. 将一个简单的UIView从一个类添加到主ViewController中
- 22. 从UIViewController回到第一个ViewController
- 23. 如何编码按钮以将ViewController从一个更改为另一个,而不创建一个新的按钮
- 24. Touchupinside和简单的viewController问题
- 25. 简单的ViewController/View,删除白色条?
- 26. 将viewController推入另一个viewController后会发生什么
- 27. UITableView单元到一个新的ViewController
- 28. 如何返回复杂场景中的第一个viewController?
- 29. 如何将委托设置为另一个ViewController?
- 30. 更改在UItabbarcontroller的viewcontroller的标题
intrest,但在ios 5我得到错误,当我尝试使用您的答案的代码块的第一行 – 2012-04-25 09:19:25
用您的应用程序委托文件的名称替换MyAppDelegate。 MyAppDelegate是我的文件的名称,你的将是不同的 – 2012-04-25 09:25:42
新项目的默认称为AppDelegate。我已经更新了我的代码块 – 2012-04-25 09:26:48