我是 Cocoa、Objective-C 和 iOS 开发的新手。
我想实现一个视图,它只是一个闪屏,在路由到主视图之前只持续很短的时间。您对我应该如何实施有任何想法吗?任何教程或代码示例?我有一些视图有多个视图,但没有一个定时器可以在几秒钟后重定向到另一个视图,就像我想做的那样。
我是 Cocoa、Objective-C 和 iOS 开发的新手。
我想实现一个视图,它只是一个闪屏,在路由到主视图之前只持续很短的时间。您对我应该如何实施有任何想法吗?任何教程或代码示例?我有一些视图有多个视图,但没有一个定时器可以在几秒钟后重定向到另一个视图,就像我想做的那样。
请参阅iOS 应用程序编程指南下的应用程序启动(默认)图像。
还应该注意的是,Apple 建议不要滥用启动图像作为启动画面。 苹果HIG
您可以轻松地在主视图之上实现您的视图,但在您的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];}];
正如@Espresso 发布的链接,我只是想向您解释一下。
如果您只是在项目中放置一个名为Default.png的图像,那么它将用于启动画面。但是,您可以通过在 plist 文件中明确指定它来使用不同的图像名称。
我知道我正在回答将近一岁的问题,但这可能对其他人有所帮助-
我刚刚发现你可以在 XCode4 中做到这一点!这使得这是一个相当简单的过程。
其他答案很好,但我想补充一点,对于 iPhone 应用程序,您的 Default.png 应该是 320x480,对于视网膜显示器,您应该添加 Default@2x.png 640x960。
在 XCode 4 中,您可以单击项目名称(左侧层次结构中的父级)。
然后在摘要选项卡中,在 iPhone 和 iPad 下,您将能够为文件系统的每个表单选择启动图像。
刚自己解决了同样的问题,我想我会发布更新。
我发现我必须在 Info.plist 中设置 Supported Interface Orientations 才能正常工作。
我还发现 iOSDeveloperTips.com 上的这篇文章非常有用:管理多个启动图像
要添加启动画面,只需简单地将所有默认图像(如default@2x.png,....)替换为具有相同默认名称的启动图像(适用于所有硬件显示类型)。要增加启动画面的持续时间,请在 appDelegate 方法中
didFinishLaunchingWithOptions
只需在您想要的时间内让主线程休眠:
[NSThread SleepForTimeInterval:(Your time interval)];
您还可以在中使用睡眠(时间间隔)
didFinishLaunchingWithOptions
sleep(3);
您只需为 iPhone、iPhone 5 和 iPad 添加三个名为 Default.png、Default-568h@2x.png 和 Default@2x.png 的图像。现在图像的清晰度取决于您拍摄的尺寸。您应该采用标准尺寸。
要添加启动画面,首先在您的项目中添加该图像,然后在方法中将以下代码添加到您的AppDelegate
方法中didFinishLaunching
[NSThread SleepForTimeInterval:(Time interval)];