LoginViewController - > OtherviewController双向Segue公司
问题描述:
我新的iOS开发和Xcode和我试图找出如何实现以下逻辑:LoginViewController - > OtherviewController双向Segue公司
1)用户启动应用程序 - 用户被定向到具有LoginViewController登录表单
2)在成功的用户登录 - 进入下一个视图控制器 - 姑且称之为LoginViewController
如何编程做,在对LoginViewController例如视图中的登录按钮的操作逻辑
@IBAction func loginButtonPressed(button: UIButton) {
//do login logic
//what to put here to segue to OtherViewController
}
而且一旦用户在OtherViewController中,他们的认证令牌可能会到期。如果发生这种情况,我需要继续回到LoginViewController。我来自Android背景,你可以使用Intents来实现这种事情 - iOS中的等价物是什么?
在Swift中的答案是首选,因为我对此比较熟悉,但我在破译Objective C代码时也很体面。
作为一个方面说明 - 我应该控制像这样的代码段,还是应该使用故事板?我尝试在故事板中创建segues,但我不明白如何将这些代码绑定到应用程序代码。
答
一种方式:
self.performSegueWithIdentifier("name2", sender: self)
作为一个例子:
@IBAction func button(sender: AnyObject) {
self.performSegueWithIdentifier("newView", sender: self)
}
在这里,我在故事板创建的模态从赛格瑞到viewController1 ViewController2。我通过按住Ctrl键点击视图顶部的黄色ViewController图标并将蓝线拖到第二个视图。然后释放。在弹出菜单中选择模态segue。然后在右侧的实用程序面板中 - 突出显示故事板中的segue后,单击属性检查器并为该标识符命名。然后将该名称粘贴到代码示例中,我有“newView”。
答
其实你可以从故事板初始化你下一个控制器:
UIStoryboard * storyboard = self.storyboard;
OtherViewController * otherVC = [storyboard instantiateViewControllerWithIdentifier: @ "xxx * Name Desire"];
如果您使用的导航控制器:
[self.navigationController pushViewController: otherVC animated: YES];
否则:
[self presentViewController:otherVC animated:YES completion:nil];
这是否意味着我需要创建一个继续在故事板?如果是这样,什么类型的赛格,那些似乎有意义的将是'show'或'showDetail' – thatidiotguy 2014-10-02 16:12:34
是的,那是最好的方法。你可以创建一个模态赛格。然后给它一个标识符,并把它放在我给你的代码中。让我知道你是否需要链接到或粘贴屏幕截图。 – 2014-10-02 16:17:30
我认为模态赛格是为了搭建模态窗口?是否有某个资源解释了所有这些不同的阶段类型的作用以及它们应该用于什么? – thatidiotguy 2014-10-02 16:21:18