我一直使用storbyboard将用户流从一个屏幕映射到另一个屏幕,但现在我需要以编程方式将用户从一个控制器重定向到另一个控制器。
我试图查找如何做到这一点,但我找不到太多,部分是因为我不确定如何正确地说出来:)
我知道在Android中它就像创建一个新的Intent对象并告诉它去哪个其他屏幕一样简单。但是我该如何在iOS中这样做呢?
谢谢!
答案 0 :(得分:4)
查看UIStoryboard类。
尝试使用 - (id)instantiateViewControllerWithIdentifier :( NSString *)主谓词板中的标识符创建新控制器。
然后,您可以像平常一样使用新的视图控制器。
[编辑]
LoginController *loginController = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"LoginController"];
[self presentModalViewController:loginController animated:YES];
您需要为LoginController提供“LoginController”的标识符。
“MainStoryboard”是主故事板的默认名称。
[编辑] 主故事板的名称在plist文件中列为“主故事板文件基本名称”(UIMainStoryboardFile)。
设置LoginController的标识符: 如果您正在查看xcode中的故事板,请选择“登录控制器”视图控制器(显示在“登录控制器场景”下),显示“实用工具”窗格(右侧窗格)中的属性检查器,在“视图控制器”部分下,您将看到标识符字段。将其设置为“LoginController” - 对于上面的示例
答案 1 :(得分:1)
你可以使用这样的东西,我刚才遇到了同样的问题,这就是我用过的东西。
[self presentModalViewController:yourviewController animated:YES]
答案 2 :(得分:1)
如果目标控制器在故事板中,请在两个控制器之间创建一个名为segue。当您需要从一个移动到另一个时,请使用performSegueWithIdentifier:sender:
。 (有关详细信息,请参阅该方法的UIViewController文档。)