2012-01-03 41 views
1

我正在学习如何操纵视图显示编程,我管理与下面的代码块,以显示我的appDelegate一个新的观点:创建和删除UIViews编程

- (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 ..

基本上我想创建一个简单的登录流程,在应用程序开始,我会展示我的第一个视图(登录表单),登录成功后,我要放弃旧观点,并显示这是我的主页第二种观点。

+0

您有内存泄漏的示例代码,'loginController'永远不会释放。 – 2012-01-03 11:31:04

+0

感谢的人,我会因为你正在使用的导航控制器从什么逼人退和获得主菜单无需登录停止用户添加英寸 – 2012-01-04 03:57:18

回答

2

你在正确的轨道与使用UINavigationController上。事实上,你几乎在那里。

你已经有两个视图控制器 - 一个登录页面,以及一个用于主页。在didFinishLaunchingWithOptions:中,将两个控制器都推到UINavigationController的堆栈上:首先是“home”控制器,然后是“登录”控制器。一旦登录控制器检测到登录成功,请致电popViewControllerAnimated:popToRootViewControllerAnimated:以进入主页。

+0

? – 2012-01-03 11:34:06

+0

@JoãoPortela好点!你需要[隐藏“后退”按钮](http://stackoverflow.com/questions/1453519/how-to-hide-the-back-button-in-uinavigationcontroller)。 – dasblinkenlight 2012-01-03 11:41:20

+0

谢谢,我的工作遵循@dasblinkenlight的建议! – 2012-01-04 08:47:29