在iOS中实现启动画面

时间:2011-02-12 21:01:55

标签: objective-c ios splash-screen multiple-views

我是Cocoa,Objective-C和iOS开发的新手。

我想实现一个只是启动画面的视图,并且只能在路由到主视图之前持续很短的时间。你对我应该如何实现它有任何想法吗?任何教程或代码示例?我有一些有多个视图,但没有一个计时器在几秒钟之后重定向到另一个,就像我想做的那样。

11 个答案:

答案 0 :(得分:40)

请参阅iOS应用程序编程指南中的App Launch (Default) Images

还应该注意Apple建议不要将启动图像作为启动画面滥用。 Apple HIG

答案 1 :(得分:32)

您可以在主视图的顶部轻松实现视图,但在appDelegate中。例如,如果您想要一个淡出到主视图的启动图像:(或一个看似淡出的默认图像:只需将相同的图像放在启动画面和默认屏幕上)。 只要它是主视图,这也为您提供了正确的方向。

只需将其添加到application:(UIApplication *)application didFinishLaunchingWithOptions:方法中:

 UIImageView*imageView=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"your_default_image_or_another.png"]];
[[firstViewController view] addSubview:imageView];
[[firstViewController view] bringSubviewToFront:imageView];

// as usual
[self.window makeKeyAndVisible];

//now fade out splash image
[UIView transitionWithView:self.window duration:1.0f options:UIViewAnimationOptionTransitionNone animations:^(void){imageView.alpha=0.0f;} completion:^(BOOL finished){[imageView removeFromSuperview];}];

答案 2 :(得分:12)

@Espresso发布了链接,我只是想向你解释一下。

如果您只是在项目中放置名为 Default.png 的图像,那么它将用于启动画面。但是,您可以通过在plist文件中明确指定它来使用不同的图像名称。

答案 3 :(得分:11)

我知道我已经回答了将近一年的问题,但这可能对其他人有所帮助 -

我刚刚发现你可以在XCode4中做到这一点!这使得这个过程变得相当简单。

  1. 在导航视图中选择您的项目
  2. 在目标下选择您的应用程序
  3. 选择摘要标签
  4. 向下滚动,您会看到添加启动图像的位置
  5. 右键单击选择文件框

答案 4 :(得分:6)

其他答案都不错,但我想补充一点,对于iPhone应用程序,你的Default.png应该是320x480,对于视网膜显示,你应该添加Default@2x.png 640x960。

答案 5 :(得分:4)

在XCode 4中,您可以点击项目名称(左侧层次结构中的父级)。

然后在摘要标签中,在iPhone和iPad下,您可以为文件系统的每个表单选择启动图片

答案 6 :(得分:3)

我必须自己解决同样的问题,我想我会发布更新。

我发现我必须在Info.plist中设置支持的接口方向才能正常工作。

我还发现iOSDeveloperTips.com上的这篇文章非常有用:Managing Multiple Launch Images

答案 7 :(得分:3)

要添加启动画面,只需使用具有相同默认名称(适用于所有硬件显示类型)的启动图像替换所有默认图像(如default@2x.png,....)。 要在appDelegate方法

中增加启动画面的持续时间
didFinishLaunchingWithOptions 

只需在你想要的时间内睡觉主线程:

[NSThread SleepForTimeInterval:(Your time interval)];

你也可以在

中使用睡眠(时间间隔)
didFinishLaunchingWithOptions

sleep(3);

答案 8 :(得分:2)

您只需为iPhone,iPhone 5和iPad添加三个名为Default.png,Default-568h @ 2x.png和Default@2x.png的图像。现在图像的清晰度取决于您正在拍摄的尺寸。你应该采用标准尺寸。

答案 9 :(得分:1)

要添加启动画面,请先在项目中添加该图片,然后将以下代码添加到AppDelegate方法

中的didFinishLaunching方法中
[NSThread SleepForTimeInterval:(Time interval)];

答案 10 :(得分:0)

在iOS世界中,它被称为-Launch Screen,它是一种通用模式。

您可以提供启动屏幕作为Xcode故事板或应用程序支持的设备的一组静态图像。建议使用Xcode故事板,因为故事板具有灵活性和适应性。

例如,当您创建一个新的单视图项目时,会自动生成LaunchScreen.storyboard。要更改它,只需<Project> -> General -> App Icons and Launch Images