我有一个UITableViewController,当我们从设置视图控制器导航回来时,会设置一个展开segue。
在unwind segue方法中,我正在检查是否应该注销并显示登录屏幕。
我还有一个注销按钮,它总是将用户注销并显示登录屏幕。
- (IBAction)logoutButton:(id)sender {
[self logout];
ReusableLoginViewController *loginVCiPhone = [[UIStoryboard storyboardWithName:@"ReusableLogin_iPhone" bundle:nil] instantiateViewControllerWithIdentifier:@"ReusableLogin_iPhone_Standard"];
UINavigationController *rootNav = self.navigationController;
[rootNav.navigationBar setHidden:YES];
[rootNav pushViewController:loginVCiPhone animated:NO];
}
- (IBAction)unwindToList:(UIStoryboardSegue *)segue {
SettingsViewController *source = (SettingsViewController *)segue.sourceViewController;
if (source.apiRootURL) {
// Do some stuff with source.apiRootURL
[self logoutButton:nil];
}
}
当从按钮直接调用时,logoutButton工作正常,但是当从unwind segue调用时,pushViewController函数不会推送我的ReusableLoginViewController。 [rootNav.navigationBar setHidden:YES]确实执行。 有人知道这里发生了什么吗?