显示没有segue的弹出视图控制器

时间:2014-08-02 18:58:36

标签: ios xcode uiviewcontroller

说我有用于CatViewController,CatDetailViewController和RegisterViewController的MVC;其中RegisterViewController是一个弹出窗口,因为它没有覆盖整个屏幕。

我的设计是这样的,从CatViewController用户可以转到CatDetailViewController。但是,如果用户尚未注册,则会中断segue并通过弹出RegisterViewController要求用户注册。

我的猜测是按照这样的设计,我无法进入RegisterViewController。我不知道这个假设是否属实。那么有人知道这种设计要求的共同模式吗?

仅供参考:应用程序中有另一个入口点,用于RegisterViewController。

1 个答案:

答案 0 :(得分:1)

如果您希望按钮为条件提供两个segue,您可以通过代码完成。

首先,在故事板中,您可以从视图控制器创建segue,而不是从按钮创建segue。 只需将视图控制器连接到目标,就像按钮一样。 segue连接应显示为“手动”。然后,选择segue,在右侧面板上给它一个标识符。

然后将按钮的“Touch up inside”事件链接到IBAction方法。

现在,在代码中,使用该方法触发手动分段:

- (IBAction)actionConfirm:(id)sender
{
    if (user.registered)
        [self performSegueWithIdentifier:@"toDetail" sender:nil];
    else
        [self performSegueWithIdentifier:@"toRegister" sender:nil];
}

希望这可以解决您的问题!

相关问题