创建条件segue

时间:2013-06-27 16:16:15

标签: iphone ios segue

我想要一个主视图控制器来检查用户是否已经登录。如果是这样,它会转移到标签视图控制器。如果没有,它将转移到登录视图控制器,该控制器处理登录,然后转到选项卡视图控制器。

为了测试一个特征的segue方面,我创建了一个单独的项目。我创建了3个视图控制器--UIViewController的所有子类。其中一个是主视图控制器,另外两个是条件segue应该发生的简单视图控制器。

我读到了在线程how to apply condition based custom segue in storyboard

中创建“无触发”segue的内容

如何创建两个无触发segue,以便我在运行时手动选择仅执行其中一个,具体取决于用户是否登录?或者是否有不同的方法来实现这种相当常见的情景?

2 个答案:

答案 0 :(得分:1)

  

如何创建两个无触发段,以便我在运行时手动选择仅执行其中一个,具体取决于用户是否已登录?

  • 创建通向登录屏幕的第一个无触发segue;给它一个标识符,比如needLogin
  • 创建通向选项卡视图的第二个无触发segue;给它一个标识符,比如whenLoggedIn
  • 在主视图控制器中定义一个操作,并将此代码放在其关联的方法中:


// This is attached to the button on the main screen
-(void)onCheckLogin {
    if (userIsLoggedIn) {
        [self performSegueWithIdentifier:@"whenLoggedIn" sender:self];
    } else {
        [self performSegueWithIdentifier:@"needLogin" sender:self];
    }
}

答案 1 :(得分:0)

我假设您知道如何检查是否登录或退出 试试这个:

if (loggedIn) {
    [self performSegueWithIdentifier:@"GoToViewController1" sender:self];
} else if (loggeOut) {
    // Segue to Login viewController 
    [self performSegueWithIdentifier:@"GoToLoginViewController" sender:self];
}

注意:在stoyboard中,您必须仅从viewController创建segue,而不是从UIButton或可能的segue的任何其他对象创建。