Ios 应用程序始终显示LoginViewController,即使它应该转到ViewController
出于某种原因,每当我尝试运行我的应用程序时,应用程序总是会转到Ios 应用程序始终显示LoginViewController,即使它应该转到ViewController,ios,objective-c,Ios,Objective C,出于某种原因,每当我尝试运行我的应用程序时,应用程序总是会转到LoginViewController,即使当passwordCheck具有非空值时,它应该转到ViewController 警告:尝试显示其视图不在窗口层次结构中的对象 在我从.xib文件切换到使用故事板之前,这是可行的。这是我的代码(它当前位于LoginViewController.m) if (passwordCheck) { NSLog(@"%@", usernameField.text);
LoginViewController
,即使当passwordCheck
具有非空值时,它应该转到ViewController
警告:尝试显示其视图不在窗口层次结构中的对象代码>
在我从.xib文件切换到使用故事板之前,这是可行的。这是我的代码(它当前位于LoginViewController.m
)
if (passwordCheck) {
NSLog(@"%@", usernameField.text);
// Persist the Username for recovery later
[[NSUserDefaults standardUserDefaults] setObject:usernameField.text forKey:kUsernameDefaultsKey];
[[NSUserDefaults standardUserDefaults] synchronize];
NSError *error = nil;
[STKeychain storeUsername:[NSString stringWithFormat:@"%@", usernameField.text] andPassword:[NSString stringWithFormat:@"%@", passwordField.text] forServiceName:@"LoginApp" updateExisting:YES error:&error];
ViewController *viewControl = [self.storyboard instantiateViewControllerWithIdentifier:@"MainControllerNav"];
// Send username to ViewController
AppDelegate *dataCenter = (AppDelegate *) [[UIApplication sharedApplication] delegate];
dataCenter.usernameData = usernameField.text;
NSLog(@"%@", dataCenter.usernameData);
viewControl.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:viewControl animated:YES completion:nil];
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
} else {
NSLog(@"Finish viewDidLoad and wait for future instructions from user.");
}
我尝试使用修复它,但两者都没有帮助。我如何解决此问题?提前谢谢。此代码在哪里?在ViewDiLoad中?如果是,这就是您的问题。在当前控制器添加到窗口层次结构之前,您不能显示另一个控制器。请将代码放入ViewDidDisplay中,然后显示下一个控制器w如果您不想看到登录控制器,则不显示动画。您的navigationcontroller应该是Windows的rootviewcontroller,否则运行时您将出现此错误。为什么在该代码中使用self-presentViewController
?问题与标题不匹配-您的登录视图已显示。。。