在用户使用我的应用程序之前,必须登录。我的想法是,在应用程序启动后,登录视图以模态方式显示。
在iOS 5之前,我使用.xib文件。现在,我想将视图转换为故事板,以便更好地使用新功能。
该应用程序适用于splitview控制器。问题是登录视图已加载,但从未出现。
我在app委托中尝试过,我为splitviewcontroller创建了一个类,并尝试将其加载到viewDidLoad中。
代码:
- (void)viewDidLoad
{
[super viewDidLoad];
//load and push login
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
LoginViewController *loginViewController = [storyboard instantiateViewControllerWithIdentifier:@"loginViewController"];
NSLog(@"login push: %@", loginViewController);
[self presentModalViewController:loginViewController animated:YES];
NSLog(@"done push");
}
日志:
2012-01-13 10:18:08.217 App[1101:707] login push: <LoginViewController: 0x472fe0>
2012-01-13 10:18:08.330 App[1101:707] done push
我尝试在Root或详细视图中加载它,但它可以工作,但它不是正确的地方,xcode给出了消息:
2012-01-13 10:18:08.807 App[1101:707] Unbalanced calls to begin/end appearance transitions for <MainSplitViewController: 0x464bc0>.
我的第一个想法是从登录视图开始,登录后推送splitview控制器。但我发现splitview控制器必须是根视图。
答案 0 :(得分:3)
在viewDidLoad中推送另一个ViewController非常早。也许当前的ViewController会显示动画,并且您尝试使用动画来呈现另一个ViewController ...
您应该尝试将LoginController的显示移动到viewDidAppear ...