【问题标题】:Redirect to another view controller重定向到另一个视图控制器
【发布时间】:2014-07-01 05:13:26
【问题描述】:

我正在为 iPhone 和 iPad 开发一个 iOS 应用程序。我有两个故事板文件,称为:Main_iPhone 和 Main_iPad。我在这些情节提要中制作了一个登录屏幕,并设置了一个 LoginViewController。成功登录后,我想将用户重定向到 Main_iPhone 或 Main_iPad 中的另一个屏幕。我将此屏幕命名为 Dashboard,并在 Identity Inspector 中命名了自定义类 DashboardViewController。我已经创建了这个文件。

我正在 Xcode 5 中为 iOS 7 开发

如何将用户重定向到我的仪表板?

【问题讨论】:

    标签: ios objective-c uiviewcontroller storyboard


    【解决方案1】:

    有几种方法可以做到这一点。 首先是创建 DashboardViewController 并将其呈现给视图层次结构:

    DashboardViewController *vc = [[DashboardViewController alloc] init];
    [self presentViewController:vc animated:YES completion:nil];
    

    另一个是在情节提要中创建从登录到仪表板的转场,当您想要重定向时只需调用:

    [self performSegueWithIdentifier:@"SEGUE_IDENTIFIRE" sender:nil];
    

    SEGUE_IDENTIFIRE 是您需要在情节提要中设置的转场名称。

    【讨论】:

    • 尝试第一种方法时出现以下错误:尝试在视图不在窗口层次结构中的 上呈现
    • 如何呈现LoginViewController?可以出示一下代码吗?
    • 因为我还没有可以登录的API,所以我在LoginViewController的ViewDidLoad方法中做了一些自定义代码来登录。只要(1 == 1)。在此声明中,我想重定向到仪表板。
    • 这应该不是问题,我要问的是你如何将登录信息呈现给视图层次结构,是你的根视图控制器,它是嵌入在导航控制器中吗?等等?跨度>
    • 我猜它是一个单一的视图控制器。 (我不太明白你的意思。但是在创建故事板文件后,我在故事板中拖动了一个视图控制器)希望它足够清楚;)
    【解决方案2】:

    为此,当您完成登录时,您可以通过实例化一个 UIStoryboard 对象并呈现必须使用 UIStoryboad 对象的方法实例化的新 UIViewController 来切换故事板,下面是一个示例:

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:
                                @"myOtherStoryboard" bundle:nil];
    [self presentViewController:[storyboard instantiateViewControllerWithIdentifier:
                                      @"myViewOfOtherStoryaboard"] animated:NO completion:nil];
    

    希望对您有所帮助。

    【讨论】:

      【解决方案3】:

      有时,如果用户只搜索“重定向到另一个视图控制器”,他们最终会达到此目的。所以这是我正在寻找的解决方案......

      Swift 3解决方案

      let controller = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "yourViewControllerID")
      present(controller, animated: true, completion: nil)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-25
        • 1970-01-01
        • 1970-01-01
        • 2020-05-17
        相关资源
        最近更新 更多