Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios LoginView控制器->;OtherviewController双向序列_Ios_Xcode_Swift - Fatal编程技术网

Ios LoginView控制器->;OtherviewController双向序列

Ios LoginView控制器->;OtherviewController双向序列,ios,xcode,swift,Ios,Xcode,Swift,我对iOS开发和XCode还不熟悉,我正试图弄明白如何实现以下逻辑: 1) 用户启动应用程序-用户被定向到具有登录表单的LoginViewController 2) 用户成功登录后-转到下一个视图控制器-我们称之为LoginViewController 如何在LoginViewController视图中的登录按钮的操作逻辑中以编程方式实现这一点,例如: @IBAction func loginButtonPressed(button: UIButton) { //do login log

我对iOS开发和XCode还不熟悉,我正试图弄明白如何实现以下逻辑:

1) 用户启动应用程序-用户被定向到具有登录表单的LoginViewController

2) 用户成功登录后-转到下一个视图控制器-我们称之为LoginViewController

如何在LoginViewController视图中的登录按钮的操作逻辑中以编程方式实现这一点,例如:

@IBAction func loginButtonPressed(button: UIButton) {
    //do login logic

    //what to put here to segue to OtherViewController
}
一旦用户在OtherViewController中,他们的身份验证令牌可能会过期。如果发生这种情况,我需要返回LoginViewController。我来自一个安卓系统的背景,在那里你会使用意图来实现类似的事情——iOS中的等价物是什么

最好是用Swift来回答,因为我对它比较熟悉,但我也能很好地破译目标C代码

作为旁注-我应该控制像这样的代码中的分段,还是应该使用故事板?我尝试在故事板中创建片段,但不知道如何将它们与应用程序代码连接起来。

一种方法:

self.performSegueWithIdentifier("name2", sender: self)
例如:

@IBAction func button(sender: AnyObject) {

        self.performSegueWithIdentifier("newView", sender: self)
    }

在这里,我在故事板中创建了一个从viewController1到ViewController2的模式序列。我通过控制点击视图顶部的黄色ViewController图标并将蓝线拖到第二个视图来实现这一点。然后释放。在弹出菜单中,选择模态序列。然后在右侧的实用程序面板中,在故事板中高亮显示segue后,单击属性检查器并为标识符命名。然后将该名称粘贴到代码示例中,其中有“newView”。

实际上,您可以从故事板初始化下一个控制器:

UIStoryboard * storyboard = self.storyboard;

OtherViewController * otherVC = [storyboard instantiateViewControllerWithIdentifier: @ "xxx * Name Desire"];
如果使用导航控制器:

[self.navigationController pushViewController: otherVC animated: YES];
其他:


这是否意味着我需要在故事板中创建一个片段?如果是这样的话,什么类型的segue,似乎有意义的是
show
showDetail
是的,这是最好的方式。您可以创建一个模态序列。然后给它一个标识符,并把它放在我给你的代码中。如果您需要我链接或粘贴屏幕截图,请告诉我。我以为modal segue是用来安装modal窗口的?有没有一个资源可以解释所有这些不同的segue类型做什么以及它们应该用于什么?这是一种过渡到另一个视图控制器的方法。作为替代选项,您可以在一个ViewControlle中创建两个UIView,然后在成功登录后隐藏一个并显示另一个。稍微复杂一些,但效果很好。
[self presentViewController:otherVC animated:YES completion:nil];