2011-06-13 67 views
2

我有第一个视图,它是登录屏幕。用户登录后有一个按钮将视图推送到我的第二个视图。我的问题是,当我按下按钮将其返回到第一个视图时,它会调用viewDidLoad方法并像我刚构建应用程序一样运行视图。我有其他标签是根据登录用户设置的,所以我希望在推送之前保留第一个视图的状态。回到第一视图,第一视图的值不变

这是我使用推到第二视图的方法:

-(IBAction) secondView 
{ 
    _secondView = [[SecondViewController alloc]initWithNibName:nil bundle:nil]; 
    [self presentModalViewController:_secondView animated:YES]; 
    [_secondView release]; 
} 

和推回至第一视图方法:

-(IBAction) back { 
    _firstView = [[FirstViewController alloc]initWithNibName:nil bundle:nil]; 
    [self presentModalViewController:_firstView animated:YES]; 
    [_firstView release]; 
} 

我不使用导航控制器,所以是有什么办法可以将我的第一个观点推回到我推向第二个观点的方式?提前致谢。

回答

3

要回到firstViewController,而不是推到堆栈(那么这将是_firstView _secondView _firstView),弹出secondViewController与

-(IBAction) back { 
    [self dismissModalViewControllerAnimated:YES]; 
} 

的问题,你在做什么是你当您使用您当前的方法“返回”时,创建新的firstViewController(allocinit是此线索)。真的,你只是想从secondViewController的顶部弹出secondViewController,你可以用上面的方法来完成。

3

您需要关闭第二个UIVIewController,而不是将第一个显示为另一个模态视图。

你应该像这样更换back方法:

-(IBAction)back:{ 
    [[self parentViewController] dismissModalViewControllerAnimated:YES]; 
} 

这将返回到第一个视图,因为它是和(可能)解除分配第二UIViewController

希望有帮助。

0

当您返回时关闭您的SecondViewController而不是创建FirstViewController的实例并显示它。

3

如果您有什么推回FirstViewController,在后面的方法使用此代码

[self dismissModalViewControllerAnimated:YES]; 
相关问题