【发布时间】:2014-02-23 06:42:14
【问题描述】:
我想在应用程序开始时显示一个视频,就像一个飞溅一样。我的整个应用程序将在导航中。首先,我在 splashViewController 中添加视频并将其在 appDelegate 中设置为 rootView,然后再次将 mainViewController 设置为 rootView。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
splashViewController = [[SplashViewController alloc] init];
splashViewController = (SplashViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"SplashViewController"];
self.window.rootViewController = splashViewController;
[NSTimer scheduledTimerWithTimeInterval:9.0 target:self selector:@selector(removeSplashScreen:) userInfo:nil repeats:NO];
return YES;
}
-(void)removeSplashScreen:(id)userInfo
{
[splashViewController removeFromParentViewController];
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
mainViewController = [[MainViewController alloc] init];
mainViewController = (MainViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"MainViewController"];
self.window.rootViewController = mainViewController;
}
现在我想从这个 mainViewController 开始导航。我使用故事板并在 mainViewController 中添加来自 Editor > Embed in > Navigation Controller 的导航。不要以编程方式进行。但我知道使用 Nib.xib 实现它的方式。在这里,我还将arrow(指示起始VC的箭头)标记放在它旁边。但是当我单击 mainVC 中的按钮转到下一个 VC 时,它会崩溃。如何在此处设置导航?
如果有人有答案,请与我分享。非常感谢。
我的故事板场景:
【问题讨论】:
-
如果您阅读 Apple 人机界面指南,您会发现不推荐使用闪屏。没有启动画面之类的概念,而是启动图像。请记住,不遵循指南可能会导致应用被拒绝
-
感谢您的评论和提醒指导线。但我想这样做。过去在 nib 文件中,我使用视频启动和应用商店从不拒绝它。
-
我同意
meda的观点,如果不遵守准则,您的应用会被拒绝。尽管您所追求的并不违反准则,因为这只是一个播放视频的UIViewController。因此,据我了解,您的应用程序将启动,用户将看到启动图像,然后第一个呈现自身的视图控制器将是SplashViewController。似乎与此无关,但我会注意这与xcode IDE无关,因此请不要使用该标签。
标签: objective-c ios7 uinavigationcontroller storyboard