【问题标题】:How back two UIViewController怎么回两个 UIViewController
【发布时间】:2012-01-25 16:16:03
【问题描述】:

我的应用程序有四个步骤(View1、View2,最后是 View3 View4),用户必须通过这些步骤才能完成流程。最后有一个后退按钮。但是,当我单击返回时,应用程序会将用户发送到 View3(此时他在 View4 中)。

问题是如何通过简单的点击返回按钮回到View1?

我有两个继承自 UIViewController 的视图,另外两个继承自 UITableViewController

要创建一个新视图,我使用上面的代码:

SelectSubOptionsViewController * selectSubOpt; selectSubOpt = [[ SelectSubOptionsViewController alloc] initWithNibName:@"SelectSubOptionsViewController" bundle:nil] [UIView beginAnimations:@"flipping view" context:nil]; [UIView setAnimationDuration:1]; [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];

[self.view addSubview: selectSubOpt.view];

要删除视图,我使用上面的代码:

-(IBAction) btnBack:(id) sender {

[UIView beginAnimations:@"flipping view" context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationTransition: UIViewAnimationTransitionCurlUp
                       forView:self.view.superview cache:YES];

[self.view removeFromSuperview];
[UIView commitAnimations];

}

非常感谢任何答案...

【问题讨论】:

    标签: iphone objective-c uiviewcontroller


    【解决方案1】:

    您可以使用 UINavigationController 来管理您的屏幕 - 执行推送以放置每个视图,然后执行弹出到根控制器以回到开始。我认为这里更适合您的任务。

    http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html

    【讨论】:

    • 坦克艾伦!但是对于我使用 UINavigationController 的实例返回根视图,我可以使用 UIViewController 链吗?我想创建一个 UINavigationController 的实例,将这个实例传递给 view2 和 view3 和 view4(当然把这个视图放在链中)。在 view4 中,我将使用此实例返回根视图 (view1)。这种方法正确吗?
    • 是的,UINavigationController 允许您管理一系列 UIViewController,这正是它的好处。您将“推送”您的视图 2、3、4,然后您可以从 4 执行 pop to root 以返回视图 1。祝您好运!
    猜你喜欢
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    相关资源
    最近更新 更多