2013-04-07 55 views
0

对于我的手机应用程序,我希望在3次转换期间在第一个屏幕中显示图像,并在没有用户操作的情况下切换到主菜单。iOS:第一屏显示图像

如何执行速度并自动切换视图?

谢谢。

+0

只有使用[标签:Xcode中]标签有关IDE本身的问题。 – Undo 2013-04-07 01:40:28

回答

1

你想要做的就是所谓的闪屏是什么, 见App Launch (Default) Images 或涉及本guide

+0

但是你无法控制显示启动图像的时间 – arnoapp 2013-04-07 00:33:26

+1

是的这种方法你不能显示大约1秒,但我引用了指南,因为它很容易遵循 – Anon957 2013-04-07 01:39:52

+3

你可以调用'sleep(3 )'在'applicationDidFinishLauching'中,以便在显示主视图之前等待3秒钟 – 2013-04-07 02:51:41

1

使用此

[self performSelector:@selector(loadMainView) withObject:nil afterDelay:3.0]; 

loadMainView方法,你应该开始设定通常的看法

0

我通常通过创建一个视图控制器来实现这一点,该视图控制器在视图中具有启动图像的UIImageView。

使用模式

您可以将其显示为以这种方式你RootViewController的顶部的模式视图控制器。 在AppDelegate中的application:didFinishLaunchingWithOptions:通过调用

// rootViewController is the view controller attached to the UIWindow 
[rootViewController presentViewController:imageViewController animated:NO completion:nil]; 

的imageViewController内呈现模式,你可以这样做:

- (void)dismiss { 
    // You can animate it or not, depending on your needs 
    [self.presentingViewController dismissViewControllerAnimated:YES completion:nil];  
} 

- (void)viewDidApper { 
    [self performSelector:@selector(dismiss) withObject:nil afterDelay:AMOUNT_OF_TIME]; 
} 

作为一个UINavigationController堆栈

的第一控制器没有按类似的方式不涉及模式是在您的UINavigationController中推送此视图控制器(如果您使用它)

在AppDelegate中的application:didFinishLaunchingWithOptions:你必须有这样的事情

UINavigationController * navController = [[UINavigationController alloc] initWithRootViewController:imageViewController]; 
self.window.rootViewController = navController; 
[self.window makeKeyAndVisible]; 

里面的imageViewController你可以做到这一点设置导航控制器的第一控制器:

- (void)dismiss { 
    // Here you should init your nextViewController, the real "home" of the app 
    .... 

    // Then you can present it. You can animate it or not, depending on your needs. 
    // I prefer to replace the whole stack, since user shouldn't go back to the image screen. 
    [self.navigationController setViewControllers:@[nextViewController] animated:YES];  
} 

- (void)viewDidApper { 
    [self performSelector:@selector(dismiss) withObject:nil afterDelay:AMOUNT_OF_TIME]; 
}