0

在我当前的应用程序中,我使用 UINavigationController 来显示其他 viewControllers 的内容。它像这样安装在 appDelegate 中。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];    
    self.viewController = [[ViewController alloc] init];
UINavigationController* navigationController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
    [navigationController.navigationBar setBarStyle:UIBarStyleBlackOpaque];
    [self.window addSubview:navigationController.view];
    [[self window] setRootViewController:navigationController];
    [self.window makeKeyAndVisible];
    return YES;
}

我现在想要的是创建一个新的视图控制器,在启动画面之后立即显示介绍视频。视频播放完成后,我想推送我的“StartViewController”并在其上安装 UINavigationController。所以这意味着我将在我的其他 ViewController 之一中进行设置,对吗?

那可能吗?有什么帮助吗?谢谢你的时间。

4

2 回答 2

0

你可以像我在下面那样做

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    capturedImg = [[UIImage alloc]init];
    self.splash = [[UIImageView alloc] initWithFrame:self.window.frame];
    splash.image = [UIImage imageNamed:@"default.png"];
    [self.window addSubview:splash];
    [self performSelector:@selector(Load_FirstView) withObject:nil afterDelay:2];
    [self.window makeKeyAndVisible];
}

和 Load_FirstView 方法

-(void)Load_FirstView
{    
    MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil];
    self.navigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
    [self.window makeKeyAndVisible];
}

如果您想显示视频,只需将另一种方法放在这两种方法之间,即首先调用它,然后从它调用 Load_firstView 方法

于 2012-04-11T11:21:55.073 回答
0

感谢您的快速回复。我还发现了一篇关于启动画面的有趣博文:

http://lucas.tiz.ma/blog/2011/09/26/ios-splash-screens-done-right/

对我来说,这种方式有效。看来,这是一种很好的灵活方式。

于 2012-04-11T12:30:39.247 回答