我正在学习如何以编程方式操作视图显示,我设法使用以下代码块在appDelegate中显示一个新视图:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UINavigationController *navController = [[UINavigationController alloc] init];
loginController = [[LoginController alloc] init];
[navController pushViewController:loginController animated:NO];
[self.window addSubview:navController.view];
[self.window makeKeyAndVisible];
return YES; }
我在此视图中添加了一个按钮,该按钮将删除当前视图并假设以编程方式显示新视图,但是,我只是设法删除视图而不显示新视图。
我显示第二个视图的代码如下:
HomeController *homeView = [[HomeController alloc] init];
[self.window addSubview:homeView.view];
[homeView.view release];
请指教..我一直在寻找几个小时无济于事,使用程序切换视图,iPhone视图,removeSuperview ..
基本上我想创建一个简单的登录流程,在app start我将显示我的第一个视图(登录表单),成功登录后我想丢弃旧视图并显示第二个视图,这是我的主页。
答案 0 :(得分:2)
使用UINavigationController
,您走在正确的轨道上。事实上,你几乎就在那里。
您已有两个视图控制器 - 一个用于登录页面,另一个用于主页。在didFinishLaunchingWithOptions:
中,将两个控制器推送到UINavigationController
的堆栈:首先是“home”控制器,然后是“login”控制器。登录控制器检测到登录成功后,请致电popViewControllerAnimated:
或popToRootViewControllerAnimated:
以转到主页。