启动应用程序后不出现模态视图
Posted
技术标签:
【中文标题】启动应用程序后不出现模态视图【英文标题】:Modal view after start app does not appear 【发布时间】:2012-01-13 09:31:56 【问题描述】:用户必须先登录才能使用我的应用程序。我的想法是,在应用启动后,登录视图会以模态方式出现。
在 ios 5 之前,我一直使用 .xib 文件。现在,我想将视图转换为 Storyboard 以便概览和更好地使用新功能。
该应用程序与 splitview 控制器一起使用。问题是登录视图已加载,但从未出现。
我在应用程序委托中进行了尝试,并为 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
我试图在根视图或详细视图中加载它,它可以工作,但它不是正确的位置,xcode 给出了消息:
2012-01-13 10:18:08.807 App[1101:707] Unbalanced calls to begin/end appearance transitions for <MainSplitViewController: 0x464bc0>.
我的第一个想法是从登录视图开始,登录后推送 splitview 控制器。但是我发现 splitview 控制器必须是根视图。
【问题讨论】:
【参考方案1】:在 viewDidLoad 中推送另一个 ViewController 是很早的。也许当前 ViewController 带有动画,而您尝试向另一个 ViewController 展示动画...
您应该尝试将 LoginController 的显示移动到 viewDidAppear ...
【讨论】:
非常感谢。我自己没想到...有时解决方案很简单。再次感谢!以上是关于启动应用程序后不出现模态视图的主要内容,如果未能解决你的问题,请参考以下文章