I would like to have an iPhone app only for Retina 3.5. For one of my views I set Size to "Retina 3.5 Fill Screen". I added a toolbar to this view.
However, when I run the app on iPhone 5 the view is displayed Full Screen (like on Retina 4) and the toolbar is somewhere in the middle of the view.
Here are my settings from the XCode:
And here is a screenshot from my iPhone 5:
Any thought how can I make sure that the view is displayed as Retina 3.5 on iPhone 5 ?
Is there any particular reason why you don't want it to work for the 4 inch display? For iPhone five users (at least for me anyways) having an app that isn't built for the larger display is the most annoying thing ever. Those users pay to have more screen real estate and not making an app for them isn't taking advantage of that extra screen real estate. Also, apple made auto layout to be more versatile. This means in the future there are going to be even more screen sizes coming up, so sooner or later you will have to learn how to make the apps behave correctly using auto layout.
I'm updating my app for the iPhone 5. Now I've read the topics about setting the Autosize Property and I've done that.
My question is regarding some of my elements. The interface of the app is really simple. It uses a pre-defined apple background (no custom images), and has 4 labels and a Information Button.
Two of the labels are fine but the other two and the button are aligned with the bottom of the screen, but with Auto-Sizing it creates and 1/2 inch of background between them and edge of screen.
If there any way to make them stay at the bottom of the screen like that but without having to create a whole new view for iPhone 5, with them positioned right and them programmtically select it when needed, as that is a slightly too complex way for the sake of two labels and a button.
EDITED
Here is some screenshots.
Should look like this (iPhone 4S 3.5 Inch Screen)
linky
Does look like this (iPhone 5 4 Inch Screen)
linky
To get the expected behaviour while using Autolayout, in Interface Builder, you need to select the two labels in the bottom and then go to
Editor -> Pin -> Bottom Space to Superview
This will make sure that the bottom spacing is as expected.
I'm trying to determine the best starting structure (navigation, windows based, something else) for my iPhone app. I'm a complete noob with everything Apple (just got the mini a couple days ago).
I currently have three apps on Android and want to port to iOS. The apps are very basic. Here's a quick description with fake examples.
1st Screen - 2 Buttons (Cat / Dog) - Users selects one (Dog)
2nd Screen - 6 thumbnails of Dogs (all visible on screen) - User selects one.
3rd Screen - Full image of user selected thumbnail. Full image is clickable.
4th Screen or pop up - If user clicks full image, a 3 second video clip (mp4) plays. After playing, automatically goes back to Full Image screen.
In XCode 4, what would be the best starting point? Navigation, Windows, Single View, or just blank and hammer it out?
Ideally, I would like this to be dynamic where I only create the basic views and variables based on the user selection drives what is displayed.
Any help is greatly appreciated. Thanks!
I would go with navigation based app but hide the navigation bar or at least the back button so that the user can't go back on their own. This will work well because you can get the nice slide animation between screens. And you can use multiple views easily so you don't have to worry about trying to cram all of your stuff into one view and animate it.
I am looking to develop a webpage specifically for viewing on an iPhone/mobile browsers. The layout would be something like this:
I would like the two tabs at the top to be fixed, i.e. they would always appear at the top of the viewport/screen, and the content in each tab to scroll (the height of the content in each tab would exceed the remaining available height, and so I would want this to scroll).
Ideally there would also be a transition on switching tabs (perhaps a simple fade would work best with the graphics capability of the iPhone), though this is not essential.
I would be grateful for any advice in getting this set up,
Thanks,
Nick
Look into JQTouch it's a library that does nice animations similar to iPhone native OS.
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.