1

我一直在使用 storbyboard 将用户流从一个屏幕映射到另一个屏幕,但现在我需要以编程方式将用户从一个控制器重定向到另一个控制器。

我试图查找如何做到这一点,但我没有找到太多,部分原因是我不确定如何正确表达这个:)

我知道在 Android 中它就像创建一个新的 Intent 对象并告诉它要转到哪个其他屏幕一样简单..但是我如何在 iOS 中做到这一点?

谢谢!

4

3 回答 3

4

查看 UIStoryboard 类。

尝试使用主 Storyboard 中的 - (id)instantiateViewControllerWithIdentifier:(NSString *)identifier 创建新控制器。

然后,您可以像往常一样使用新的视图控制器。

[编辑]

LoginController *loginController = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"LoginController"];

[self presentModalViewController:loginController animated:YES];

您需要为您的 LoginController 提供“LoginController”的标识符。

“MainStoryboard”是主故事板的默认名称。

[编辑] 主故事板的名称在您的 plist 文件中列为“主故事板文件基本名称”(UIMainStoryboardFile)。

要设置 LoginController 的标识符:如果您正在查看 xcode 中的情节提要,请选择“登录控制器”视图控制器(显示在登录控制器场景下)显示在实用程序窗格(右侧窗格)和下方找到的属性检查器在 View Controller 部分,您将看到 Identifier 字段。将此设置为“LoginController” - 对于上面的示例

于 2012-07-20T21:46:45.907 回答
1

你可以使用这样的东西,我不久前遇到了同样的问题,这就是我使用的。

[self presentModalViewController:yourviewController animated:YES]
于 2012-07-20T21:40:22.773 回答
1

如果目标控制器在您的故事板中,请在两个控制器之间创建一个命名的 segue。当您需要从一个移动到另一个时,请使用performSegueWithIdentifier:sender:. (有关详细信息,请参阅有关该方法的 UIViewController 文档。)

于 2012-07-20T21:43:41.527 回答