how to change the background of an iphone app when it launches? - iphone

Everything is in the title but I have to make myself clear :
I don't mean : how to automatically change the background of the app once it has finished launching.
What I mean is : when you first launch the app, before the first view is loaded by the iphone there is a black screen. Is it possible to change this black screen which I get when waiting for the first view to appear? I'd like to put a picture instead.
Thanks!
John

You need to set a Default.png and a Default#2x.png (for retina) and all the work is done for you. Or if you have payed to be a developer, download xcode 4 gm, and you can double click on the loading screen area and you can have it named what ever you wanted.

Just add a picture called "Default.png" to the project (size of the iPhone screen) and it'll automatically appear.

You can add Default.png and it's variations to your project. This image will be displayed as splash screen during application startup (before the first view is loaded).
Search for Application Launch Images at ...
http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/BuildTimeConfiguration/BuildTimeConfiguration.html

You must specify Launch image
http://developer.apple.com/library/ios/#documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html%23//apple_ref/doc/uid/TP40009252-SW9

The docs here explain the different types of launch images can should use:
http://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/BuildTimeConfiguration/BuildTimeConfiguration.html#//apple_ref/doc/uid/TP40007072-CH7-SW12

Related

Wrong iPhone launch image displayed when iPhone app is launched on iPad

I have developed a straight iPhone/iPod Touch app.
A launch image is implemented for Retina displays as well as the lower resolution of the former generation devices.
Those images are displayed properly on the iPhone simulator as well as on several iPhone an iPod Touch devices.
However, since some days, when launched on an iPad (1) or iPad simulator one of the other images within the app is shown.
Apparently the image that is displayed wrongly, is one of two amongst ca. 70 images within the app. Those two images happen to be either
1. the first image in my xcode project groups hierarchy.
-or-
2. the first image in my project in alphabetical order.
I did not yet find a pattern of when 1. or 2. happens, so when the first image in the project's hierarchy of groups is taken or when the first in alphabetical order is taken. But it seems to be one of these two files only.
Any idea what I probably did wrong so that a wrong image is picked as launch image of this iPhone-only app whenever it is launched on an iPad?
Thanks in advance.
Cheers
Hermann
Try inserting an image named Default.png into Xcode. That's all, just drag it in. Xcode recognizes any picture named Default.png as the loading image. That should make it work.
To expand a little on Jack's answer - you can indeed use an image named Default.png which will automatically be used as a launch image for your app.
However,you can also customise the launch image for particular hardware and device orientations by using images of a particular size and name - for example, a 768x1004 pixel image named Default-Portrait~ipad.png added to your project will be automatically used as the launch image when you launch the app on an iPad in portrait orientation.
The use of these customised images is highly recommended, as it allows the launch image to be sized appropriately for the different shapes of screen (i.e. iPhone and iPad), and allows high resolution launch images to be used on Retina display devices.
For a list of these sizes and image names, see this page. The items of interest are the ones beginning with "Default"
All iPhone apps have a splash screen, or what Apple refers to as a “launch image”. It is the screen that is displayed immediately after you press your app’s icon on the home screen, while the app icons are sweeping away and your app is zooming into view.
Some apps opt not to display a splash screen and go for a black screen, which is the default behaviour when you create an app. Others display a wireframe of the app’s interface in order to look like it is loading faster. See Apple’s native apps such as Clock and Camera for good examples of this. The most common use of the splash screen (especially in games) is to present a company or game logo, as we do in Addicus:
Apple has made it so easy to set your splash screen that you don’t even need a single line of code to do it. Why, you don’t even need to change a setting. Here’s how to set your splash screen it in just 2 steps:
Add a file to your project’s Resource folder called Default.png.
There is no step 2. Take this time to reflect on how good life is.
And that’s it. Run your app and your splash screen will zoom into glorious view.
A couple of things to watch out for when working with splash screens:
Whatever image you give it will be scaled to fill the 320×480 resolution of the iPhone, so ideally you would use a 320×480-sized image.
If your iPhone app is running in landscape mode, you need to rotate the splash screen you use. For example, our splash screen is rotated 90 degrees to the right in the above image.
See more at: http://getsetgames.com/tag/launch-image/#sthash.GEXwuzsf.dpuf

In simulator, app is blank (white), but appears normal when quit?

So I'm new to programming but I'm managed to create the groundwork for an iPhone app.
Problem is, when I run it on the iPhone simulator, it first shows up as a white/blank screen (with the status bar at the top) until I hit the home button. When it is doing the minimization animation (~0.5 second) the app will display correctly.
I know that an issue with versions could be the cause of this but I'd need to buy a newer Mac to upgrade to the latest version of Xcode. If there are other issues that could be causing this I'd love to know
thanks :)
Add Default.png image to your application and see if it shows that during loading. Run the app in debugger and add a breakpoint to viewDidAppear in your viewController. It's probably running but not loading in the view you are expecting it to for some reason.
To some viewcontroller's view your are not setting the background color as clear color .. that's why it is showing blank white screen when your application is launching .. if your are using xib .. set the background color of that view to clear color using interface builder.

iPhone - Objective C, on app launch image

I'm using the Utility Application template to build my app.
Having a hard time getting an image to show up as the app launch. (I'm having this difficulty with all the templates basically)
Basically, right now when the app launch, it starts with a black background and it takes a second or 2 before the content appears.
However, I see that some apps has an image as it opens up. How do they do that?
I tried adding it to the "UIWindow" and have it set to "visible at launch". It doesn't quite work as expected. (i.e I think it goes behind the views since it is visible only when the views are flipping)
Thank you,
Tee
You need to add Default.png image to your resources directory. That should do the trick.

How to set the start screen in iPhone app?

I developed an app which takes 2-3 seconds to start up. I want to show a picture in this time frame, a UIImage or some other view. How can I do that? I tried pasting it in the window but it isnt showing.
You need to add an image to your project called Default.png. This is what the iPhone will show while your application is launching.
The easiest way to accomlish this is as follow:
1. Start XCode
2. From Xcode run the app on the iPhone and have it show excast screen you need
3. in XCode start Organiser tool
Organiser tool will allow you to capture screen directly from the connected iPhone and will even give you an option to have this saved as default.png directly as part of your project.
Worked great for me

Best way to create Default.png image for iPhone app

Originally I though I'll just take a screenshot of my app on the iPhone then tweak it in Photoshop.
The images should be 480 x 320 according to Apple doc, and the dimensions of my screenshot are 480 x 320. But, the screenshot contains notification area (where reception bars, battery life, etc. are displayed)
So, if I chop that part off my image will be a bit shorter and not 480px high.
What do I do? Submit a shorter image? Stretch it up so it's 480px but without the notification bar? Submit it with the notification bar in the image?
How did you create your Default.png?
There is support in Xcode for creating the default image. With the device connected, open the Organizer (Window > Organizer). Click the Screenshot tab, take a screenshot and click "Save as default image..." Choose your project and bingo jingo, you're done.
You can leave the notification area in the screenshot. The iPhone will draw the real notification bar over it.
iOS 7 update: the iOS 7 Transition Guide explicitly requires this:
Update the launch image to include the status bar area if it doesn’t already do so.
I think the best way to do it is to use the Xcode screenshotter & edit some of the GUI elements out, like the artwork or text on your buttons so people don't get frustrated when pushing 'buttons' on the Default.png doesn't make your app respond.
If you have a status bar, then you should design 320x460 (less 20 pixels).
Though it is correct that you can leave it at 320x480 and have the real status bar paint over the default.png, it will look weird when the phone is in Internet tethering mode or has a call on hold (another 20 pixels).
By cropping to 320x460, it looks better when in tethering mode.
Just edit out the notification area to match the background of the rest of the image. As long as your image is 480x320 you should be fine.
However, if your app takes more than a few seconds to load, you may want to rethink using a screenshot of your app as the startup screen. People might get confused and think the app is finished loading, when in fact it is not. I've seen some apps produce a "stylized" version of their UI in Photoshop, making it clear that it's just an image and not the actual UI.
you should remember that you maybe need also some space for an In-Call status bar or the Tethering status bar. this bar has a height of 20 pixels. Even apple does not make it right. Put a call on hold and start "Photos" or the "Weather" app, then you can see what I mean. To test that you can use the menu "Toggle In-Call Status Bar" in the iPhone Simulator app.
you can use a real 480x320 image if you add the boolean key UIStatusBarHidden to your Info.plist file and set it as true.
Take a screen shot as many of the answers already mention. However, if your screen shot includes the status bar, you should remove it/replace it with a transparent strip instead. It is true that the iPhone will cover this part of Default.png with the current status bar however, if you run the iPhone app on the iPad, you will still be able to see this part of Default.png.
I built a slightly modified version of the initial view in IB, ran the app with that and took a screen shot. That way, everything looks very iPhoney, no Photoshop needed. Don't worry too much about clipping the top, it will mirror how the view actually looks when loaded if more stuff covers it.
Apple recommends something similar to what the user will see when the app loads. E.g. for my Sudoku app, instead of the grid, the default.png shows a "please wait" message. When the app is loaded, that disappears and you see the grid you can interact with. It looks fluid, and it's obvious when it's loading and when you can interact.
Finally, the interface uses some toolbar buttons. In the default.png they are in the disabled state (grey text). When the app is loaded, they are enabled and change color.