iOS:从Segue禁用/删除/隐藏以前的ViewController

时间:2012-09-16 19:33:16

标签: ios xcode login account

在我的登录逻辑中,我有一个“AuthenticationViewController”(这里应用程序检查用户是否已经登录)。我也使用故事板,所有视图都基于推送segues。它看起来如此:

                                    ------ AccountViewController
                                   |
-->  AuthenticationViewController  +
                                   |
                                    ------ LoginViewController

现在当我使用UITabbarController并在tabbar图标“account”上按两次时,应用程序会弹回AuthenticationViewController,然后再返回到accountView或loginView。我知道这是一个“瑕疵”,但是当我在帐户图标上按两次时,我怎么能实现这一点,AuthenticationViewController没有显示?或者我的逻辑是否错误?

修改

这是我的push-function在authenticationViewController中以编程方式初始化的方式:

// Delegate to AccountViewController if Data (Username, Password) is correct

if ([strResult isEqualToString:@"1"]) {
    AccountViewController *AVC = [self.storyboard instantiateViewControllerWithIdentifier:@"AccountView"];
    [self.navigationController pushViewController:AVC animated:NO];
    // [self performSegueWithIdentifier:@"authAccountSegue" sender:self];
}
else {
    LoginViewController *LVC = [self.storyboard instantiateViewControllerWithIdentifier:@"LoginView"];
    [self.navigationController pushViewController:LVC animated:NO];
}

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:0)

我在这里看到的有两件事,不确定他们是否会帮助解决你的问题。首先,你可以设置两个动作的segue,并没有太大的区别。另一个是,在查看故事板结构时,登录和帐户控制器似乎更适合作为模态视图,而不是将其推入堆栈。

答案 1 :(得分:0)

好的,我自己解决了这个问题:SUBVIEWS是关键:)