2011-04-20 83 views
0

我正在使用基于选项卡的应用程序,该应用程序显示名为“overview”的presentModalViewController,其上有2个按钮。怎么presentModalViewController第二次不工作?

为了调用它。我正在使用的应用程序代理下面的代码:

Overview *overview = [[Overview alloc] initWithNibName:@"Overview" bundle:nil]; 
    [self.tabBarController presentModalViewController:overview animated:YES]; 

当概览显示出来,它有一个名为被点击,我用下面的代码按钮:

-(IBAction) btnLoginPressed{ 

    [self dismissModalViewControllerAnimated:YES]; //get rid of view 
    Login *login = [[Login alloc] initWithNibName:@"Login" bundle:nil]; 
    [self.tabBarController presentModalViewController:login animated:YES]; 
    [login release];  
} 

但是登录prsentModalViewController从不出现。有人可以解释为什么以及我能做些什么来展示它?

感谢

回答

2

当你提出一个模式视图控制器,你从视图当前视图控制器做。

假设视图控制器的第二个模式显示在Overview.m正在发生改变你的代码如下:

-(IBAction) btnLoginPressed { 
    Login *login = [[Login alloc] initWithNibName:@"Login" bundle:nil]; 
    [self presentModalViewController:login animated:YES]; 
    [login release];  
} 

你不需要解雇概述第一,而事实上你不应该因为它的动画不会彼此协同工作。

当您最终关闭登录(或无论您想要走多远时),您可以根据需要发送dismissModalViewController:animated:。要返回到标签栏的控制器使用方法:

[self.tabBarController dismissModalViewController:animated] 

这将是远远超出你的问题的范围和我来回答的时候,但你应该花一些时间和真正研究上实现视图控制器的文档。我强烈建议您遵循Apple的代码风格指南,以此来提高您的代码的可读性(例如overviewViewController vs overview)。这也很清楚你只是在学习,所以要坚持下去。

+0

非常感谢您的正确回答和支持:) – jini 2011-04-20 04:12:26

+0

我有类似的情况。我有两种看法,一种是模式图像选择器视图(照相机),当用户拍照并按下“使用”时,我想带他到另一个视图来输入标题和描述。我不知道为什么,但如果我煞车解散,我会在imagePicker视图中停顿一下。 imagePicker模态视图有什么特别之处? – dormitkon 2011-07-06 03:05:37

相关问题