Ios 重定向到另一个视图控制器

Ios 重定向到另一个视图控制器,ios,objective-c,uiviewcontroller,storyboard,Ios,Objective C,Uiviewcontroller,Storyboard,我正在为iPhone和iPad开发iOS应用程序。我有两个故事板文件,叫做:Main_iPhone和Main_iPad。我在这些故事板上做了一个loginscreen,并设置了一个LoginViewController。成功登录后,我想将用户重定向到Main_iPhone或Main_iPad中的另一个屏幕。我将此屏幕命名为Dashboard,并在Identity Inspector中指定自定义类DashboardViewController。我已经创建了这个文件 我正在为iOS7开发Xcode

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

我正在为iOS7开发Xcode 5


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

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

DashboardViewController *vc = [[DashboardViewController alloc] init];
[self presentViewController:vc animated:YES completion:nil];
另一个是在故事板中从登录到仪表板创建segue,当您想重定向时,只需调用:

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

SEGUE_IDENTIFIRE是您需要在故事板中设置的一个SEGUE名称。

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

DashboardViewController *vc = [[DashboardViewController alloc] init];
[self presentViewController:vc animated:YES completion:nil];
另一个是在故事板中从登录到仪表板创建segue,当您想重定向时,只需调用:

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

SEGUE_IDENTIFIRE是您需要在序列图像板中设置的序列名称。

为此,当您完成登录时,您可以通过实例化UIStoryboard对象并显示必须使用UIStoryboad对象方法实例化的新UIViewController在序列图像板之间切换,示例如下:

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

希望获得此帮助。

为此,当您完成登录时,您可以通过实例化UIStoryboard对象并显示必须使用UIStoryboard对象方法实例化的新UIViewController在故事板之间切换,示例如下:

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

希望这有帮助。

有时候,如果用户只搜索“重定向到另一个视图控制器”,他们最终会遇到这种情况。所以这里有一个解决方案,我会寻找

Swift 3解决方案

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

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

Swift 3解决方案

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

当我尝试第一种方法时,我得到了以下错误:尝试显示不在窗口层次结构中的视图!您如何介绍LoginViewController?您可以显示代码吗?因为我还没有可用于登录的API,所以我制作了一些自定义代码,用于登录LoginViewController中的ViewDidLoad方法。如果(1==1)。在这句话中,我想重定向到仪表板。这不应该是任何问题,我要问的是如何显示登录到视图层次结构,它是您的根视图控制器,它是否嵌入到导航控制器中,等等?我想它是一个单视图控制器。(我真的不明白你的意思。但是在我创建了我的故事板文件之后,我在故事板中拖动了一个视图控制器)希望它足够清晰;)当我尝试第一种方法时,我得到了以下错误:尝试显示不在窗口层次结构中的视图!您如何介绍LoginViewController?您可以显示代码吗?因为我还没有可用于登录的API,所以我制作了一些自定义代码,用于登录LoginViewController中的ViewDidLoad方法。如果(1==1)。在这句话中,我想重定向到仪表板。这不应该是任何问题,我要问的是如何显示登录到视图层次结构,它是您的根视图控制器,它是否嵌入到导航控制器中,等等?我想它是一个单视图控制器。(我真的不明白你的意思。但是在我创建了我的故事板文件之后,我在故事板中拖动了一个视图控制器)希望它足够清晰;)