I'm experiencing some problem when application is going to foreground after tapping a Notification Center item: the iPhone (and simulator) is actually showing the app icon stretched to fit the whole screen, instead of using either a) default.png image b) render of the last view before going in background.
Any ideas?
Make sure your default image name starts with upper case 'D' as in Default.png
Related
I do not need in LaunchScreen, so I have deleted this line from myApp->Info in XCode. But after deleting those line my screen became:
It's not full screen. Do you see black parts? How can I fix it?
Add launch images for all screen sizes, that's how iOS determines supported device sizes.
Launch images are a good idea to give your user initial feedback instead of presenting a black screen - but if that's what you want, make a set of black images.
Simply Add Default-568h#2x.png splash screen & than try again.
It will work.
Note:
There might be a question raised why we need to add a splash to resolve this issue ?
Answer is because UIView takes size on basis of Splash screen you have added.
Edit:
Default-568#2x.png is the Splash screen for App. That will appear when we launch application.
Its default name for the iPhone 5 splash screen (because iPhone 5 screen resolution is 320x568 so Apple preferred it)
Yes you need to add splash screens for all devices including iPhone 4, 5, 6, 6+ & iPad.
To add splash screens for All devices:
Go to Targets -> General -> App Icons & Launch Images -> Click arrow on Launch Image Source.
See Image:
Than you will get this screen where you can add all Splash screens:
I am having an app in which I have a requirement of changing the splash screen every time when the app launches.
I am having 5 images and i want to change my splash screen by one of the 5 images every time user launches the app.
Is it possible to do this?
You can't change the splash-screen that shows while your app is loading (that scales up when your app is launched), but you can make it something generic (like a texture or solid colour) then as the first view controller in the app you can load the exact same image (or just use a solid background colour), then you can fade-in one of your five images and show that for a short period before transitioning to the first (real) screen of your app.
For example:
Splash is solid black.
Root view controller gets set to a view with solid black background colour and an image-view containing one of the five images, with alpha set to 0.
Fade in the selected image.
Transition to first-screen of app.
By making the first view controller look exactly like the splash screen (initially) the cut-transition is seamless and your custom transition to your in-app splash screen can begin.
i suggest to leave the splashscreen empty and directly go to another view where you do all the loading and change images there. Changing the splashscreen image at runtime is not possible.
Maybe you can make an image like loading or your logo for the splash screen as this will still pop up for a few seconds.
It's not possible to do what you want. See App Launch (Default) Images. You can only change the Default image based on:
Orientation
Pixel density (retina/non-retina)
Device (iphone/ipad)
URL scheme used to launch the app
Your app data is also read-only so you can't get around this by modifying the Default.png file manually.
Also, it's a very bad idea to not add a Default.png file like some other answers are recommending. You will end up with a black screen for a few seconds, which will also appear in the multitasking switcher if your app has been terminated in the background. This is a very bad user experience and your app will look shoddy.
There is work around for this.
Don't load default Splash Screens.
You can create your own splash screen which will be called every time user open the app.
You can manage the 5 images in this very easily as control will be in your hand.
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.
This question is similar to this one. My iPhone app allows the user to select the background image to use for the main screen. Therefore, depending on the background image selected by the user, the Launch Image screenshot (of the main screen) will likely display the wrong background image. When the main screen is finally loaded and the Launch Image is removed, it will be quite ugly for the background image to change suddenly to what the user has selected.
Does anyone have any suggestions on how to deal with this? Should I use some kind of splash screen (I thought I read in Apple's HIG that this was not allowed)? Or maybe I should somehow "transition" the user's selected background image into the view after the Launch Image is dismissed and the main screen is visible. Any thoughts?
If you really want to show a 'Splash' Image what you could do is forget about dynamically changing Default.png and use a simulated splash screen effect (simply a UIView or UIImageView covering the entire screen) which disappears after a number of seconds. What you need to ensure is you do the minimal amount of work to show the simulated splash screen and get it on the screen as fast as possible and then do any other computations later on whilst your image is shown.
There is no way you could change the actual Default.png without having the risk of your app being rejected by Apple.
Depending on how long your application takes to launch, you can use a black image as default.png. A "splash screen" isn't recommended but if there is no generic image possible and your app takes a significant amount of time to launch, it would be a better approach for the user's perspective as they would at least know that the application is launching.
Also remember that default.png is only shown when your app first launches, not when it resumes from multitasking (unless it has since been killed off).
See also this question Changing UIView when applicationWillEnterForeground fires which will be the next issue you face if your background image is set in preferences rather than within the app!
I'm converting an app from the iPhone to the iPad. The splash screen picture is the right size but when I enter the app after about half a second the picture goes from being perfectly sized to having the bottom and right areas out of screen and white areas above and to the left of the picture. How do I get it to stay in the screen the way it's loaded and not moved out of the screen?
The way it's loaded is probably from a default picture (Default.png). This picture is taken from the iPhone version and is being scaled. You can't make it so that this picture stays.
Check the autoresizingMask and frame properties of your view/picture and maybe also the bounds property.
This seems to be a problem with the status bar:
Maybe you did hide it in the iPhone version, and now you should hide it again for the iPad. Check the info.plist of your app