I'm experiencing issue when trying to set png image for tab bar item icon for my iOS application. If I'm creating png image (with transparent background) and setting it, everything works as expected, but when I'm using another png file (created by another person, or downloaded from web) it not works. Actually in my case I'm making png file from .pdf file and it's absolutely not clear for me why this not works. For more information please see screen captures below (top image represents not working one).
Thanks in advance.
Those specific icons/buttons work funky in terms of PNG and transparency for those images. You have to have look at the png's you download in image preview, make sure transparency exists for the white space. If there is whitespace it'll come through and show in your iOS app. Any other nonwhitepsace transparency will show up dark. It threw me off the first time I encountered this, A lot of graphics and PNG's you download from the internet doesn't have transparency built in or they have it very subtle. THose will show up as a blob for your ViewController Tabs.
Here is a good resource and guideline I found: http://steveweller.com/articles/toolbar-icons/
I'm getting my app ready to submit to the app store and have been reading the guidelines on the startup screen. It seems apple prefer it to be something that makes it look like your app is already loaded even when it isn't.
I decided to use the background image of my app as the startup screen. That way the skeleton of the app will be there and the buttons and text will load in.
I used a copy of the image but renamed it to Default-568h#2x.png.
It works but when it launches, it has that default zoom affect but it seems to zoom in bigger than the actual image size and so doesn't transition nicely into the app.
Any ideas why this happens and what I can do?
Thanks
On the iPhone, the default.png image should contain the status bar (if it is visible in your app).
On the iPad, the status bar shall be left out.
Thus, the default image size should be (source):
This could be an issue with the status bar being included or excluded in the Default images. According to apple all the iPhone Default.pngs should have the status bars included while iPad should have the status bar left out. (Unless of course your application hides the status bar)
OK, I found a way around this.
I found out that the status bar at the top is 40 pixels for retina and 20 for non retina.
I then created a black background in the size of the full iphone 5 resolution. I then got my startup image (actually the background for my app) but resized it down 40 pixels vertically.
I then put this on top of the black background I created and lined up the bottom.
I then merged the layers and used this as the startup image. It worked perfectly, the startup image loads up and then my app opens up right on top of it perfectly aligned.
I should probably be asking this on some art website, but in my iPhone app I am trying to make a center button on my tab like the one Daily booth has, but mine is coming out fuzzy. Does anyone know how to make then clean and crisp? I used illustrator to create and save the icon as a png.
Try setting the image size to 30x30 and remember to only use black and transparency. You can make this bigger for the retina display.
Also, are you saving the image as grayscale?
If you're struggling to make them yourself, why not try glyphish.com?
I really like Paint.NET on Windows for image editing, mostly because it is free.
I noticed somebody had created an Effect for Paint.NET to create tab bar icons. I haven't tried it myself, so can't vouch for it in any way:
http://www.softpedia.com/get/Multimedia/Graphic/Graphic-Plugins/iPhone-TabbarIcon-Maker-Alpha-from-RGB-Intensity.shtml
I've taken a screenshot of my iPhone app running and I'd like to use that image as a png to be drawn by the app instead of generated graphics.
When I take the screenshot, it looks fine. However, when that is saved as a PNG file, added to the Xcode project and then displayed back on the screen of the phone (or simulator) the colours are different.
Can anyone explain to me why it's changing? (I'm guessing there's a colour space conversion happening).
How can I stop this from changing?
You might be saving the png image with some incorrect settings which is either reducing the quality or number of colors used. Try the PNG-24 with transparency to see if that helps at all.
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.