开发者

Using a splash screen instead of a loading screen - a violation of Apple's HIG?

开发者 https://www.devze.com 2023-03-27 03:51 出处:网络
I have a splash image that I want to display when the app is launching. I use it as a launch image - I want it to be displayed until the program is launched (rename the picture开发者_JAVA技巧 to Defau

I have a splash image that I want to display when the app is launching. I use it as a launch image - I want it to be displayed until the program is launched (rename the picture开发者_JAVA技巧 to Default.png). In apple's HIG they say one should "avoid" using a splash screen as a launch image.

I know it's not recommended and that users often don't like them, but will it make Apple reject my application? If so, how can I display a splash screen so it'll be displayed as soon as the app goes on, but not violate those rules? because I have seen applications with splash screens as launch images.

Thx in advance!


It's not that Apple will reject your App just coz you have a splash screen. But it's advisable to not have a splash screen as the user has to wait. Better not make the user wait...

Flipboard which was the Apple App of the year in 2010 has an image splash screen. As the user enjoys the images, data is downloaded in the background so that as soon as the user flips the page, the next screen is all ready & up to date. But they have made it in such a tasty fashion that the user hardly feels as if he's been made to wait. So it all depends on your design...

Using a splash screen instead of a loading screen - a violation of Apple's HIG?


If you plan to simply use the Default.png mechanics to display your splash image, there is no problem.

The issue arises when you would like to prolong the display of such image only for the sake of it. This is what the HIG are against: that the user is made to wait without any real benefit. It is also to be noticed that with the advent of multitasking (iOS 4), the effect of showing a splash screen is reduced, since most of the times the app is not closed, so you see no splash screen at all when you go back to it.

On the other hand, it is understood that if you need to do some setup task in your app that take time and you have to do that at startup, then the user will have to wait. It is important, though, that he/she be notified of the wait and why it is for. This could mean, e.g., displaying a label on top of your image saying: "Loading..." or "Preparing data..." or whatever your user might better understand as part of the functionality of the program.

As to how to do it, there is no other way, AFAIK, than starting your app with a view that is exactly the same as Default.png (a simple UIImageView would do). That means, that in you appDidFinishLaunching delegate method, you create the view and attach it to the window; then, when you have done with your app preparation, you switch to your real view. This would give you also the chance to add the label or whatever other kind of messaging to the user.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号