放松segue有时不起作用

时间:2014-08-04 21:43:25

标签: ios objective-c uistoryboardsegue

我在Nav控制器中有很多视图。

视图层次结构是LoginView - > NAV - >查看1 - > (提出一个VC。然后解雇) - >推V2 - >推V3等

在任何视图(V1,V2,V3等)中都有一个按钮,用于按下"设置视图"。在设置视图中有一个注销按钮。

在SettingsVC.m中:

- (IBAction)logout:(id)sender {
    NSLog(@"logging out");
    // do things here
    [self performSegueWithIdentifier:@"UnwindToLogin" sender:self];
}

在LoginVC.m中:

- (IBAction)unwindToLogin:(UIStoryboardSegue *)unwindSegue {
    self.emailField.text = nil;
    self.passwordField.text = nil;
    self.loadingSpinner.hidden = YES;
    self.failureLabel.hidden = YES;
    self.loginButton.userInteractionEnabled = YES;
    NSLog(@"unwinding?");
    NSLog(@"I hate unwinding");
}

我已将SettingsVC中的按钮连接到logout:sender:。当我按下按钮时,它会记录"退出"并完成方法中的所有内容,但它不会解开LoginVC。

[注意:通常情况下,Application启动并且从未加载Login View。 (如果存储了凭据,它会跳过该视图并自动登录。但即使在启动时显示登录视图,展开有时也无效。]

[注2:经常(但并非总是如此),如果我在运行应用程序之前编辑的最后一个方法是unwindToLogin:,那么展开工作正在进行中]

请帮忙

1 个答案:

答案 0 :(得分:0)

似乎有时登录控制器没有在放松时加载,因此无法撤回。相反,我放松到登录前登陆的登陆VC,并立即转到登录VC