We currently have some issues with out splash screen on our ipad 3 (OS version 6.1.3). When our application loads in the portrait position, the splash screen loads just fine. But when we start it in the landscape mode, we get the following result:
Initially it starts like this (wich is correct):
But after a small moment, the splash screen changes to this when the home button is on the left:
If the tablet is in the landscape mode with the homebutton to the right, this is the result:
I have setup the loading screens with the information on this page, and specificly the iOS part with filenames: http://docs.rhomobile.com/rhodes/ui#loading-screen
The current file setup is:
- loading-LandscapeLeft.png
- loading-LandscapeRight.png
- loading-Portrait.png
But this issue also occurs with the setup:
- loading-Landscape.png
- loading-Portrait.png
Is there anyone else that has this issue to?
Bart
Hi Bart,
Can you try to open the app in XCode as a project and then add specific loading image using it and see whether it works ?
Visnupriya
Kutir Mobility
Points: 0
You voted ‘up’
Hey Visnupriya,
I have tried that and this gives the same results.
Kind regards,
Bart
Points: 0
You voted ‘up’
Bart,
can you have a look at your rhoconfig.txt file and see what you have as splash_screen settings? it is possible that one of the scaling options is enabled. http://docs.rhomobile.com/rhodes/ui#loading-screen documents the different alighment and scaling settings available. Try using "center" and see if that makes a difference
Thanks,
Javier
Kutir Mobility
Points: 1
You voted ‘up’
Hello Javier,
I have tried the center option and the zoom;center option. Both to no avail. The problem still occurs with these options.
Bart
Points: 0
You voted ‘up’
Hello Javier,
Do you have any information on this matter? We would love to finish this issue.
Bart
Points: 0
You voted ‘up’
After creating files with the appropriate names, you must call
rake build:iphone:setup_xcode_project
to integrate those files into the Xcode project. If you have not done so already, try to run that command and see if it has any effect. If it does not, it may be that the images do not have the proper resolution (for example, loading-LandscapeRight.png should be 1024 pixels wide by 768 pixels high). If none of that helps, could you create a new project, copy your images there, run the above command to check that you get the same result and post the project as a zip file here?
Thanks,
Javier
Kutir Mobility
Points: 0
You voted ‘up’
Hello Javier,
We always use the rake command to setup our xcode project. From there we build the application with the correct iOS certificates for our customers. It is after we use this command that this issue arrises.
I have double checked and the files we are currently using are the following:
Loading-Landscape.png
Filesize: 29kb
Resolution: 1024x768
Loading-Portrait.png
Filesize: 29kb
Resolution: 640x960
So it seems that this is correct. Attached is the empty rhomobile application with only the loading screens added with wich I can replicate the issue if I run it on our ipad device. I hope you can find something in that.
Thanks for the response.
Bart
Points: 0
You voted ‘up’
I have traced through the code and it seems that 3.5.1.13 doesn't handle the splash screen for retina devices in landscape orientation properly, it tries to resize the image with the wrong proportions and you get the weird results you are seeing.
The problem lies in platform/iphone/Classes/SplashViewController.m. As a workaround, you can overwrite your file with the version currently on git: https://raw.github.com/rhomobile/rhodes/master/platform/iphone/Classes/SplashViewController.m
It still is not perfect because it does not account for the status bar, and your image will appear to move on screen. To solve that, after putting the new file in place, open the rhorunner project in Xcode, click the "rhorunner" target and in the "Status bar" check "Hide during application launch".
If you run your application full-screen and do not need the status bar, that will be enough. If you want the status bar back, you can look for the hideSplash method and add
[[UIApplication sharedApplication] setStatusBarHidden:NO animated:NO];
at the end. All of this is a terrible kludge as you can see, but it seems to be the only solution right now, short of moving to 4.0
Hope that helps,
Javier
Kutir Mobility
Points: 1
You voted ‘up’
Hello Javier!
That fix is a massive leap forward! With the homebutton on the left, this works great. But when I put it the other way around, home button to the right, it comes up with the default motorola loading screen.
This isnt a big problem, I just copied the loading-Landscape.png and added loading-LandscapeRight.png to the project. This fixed the issue for that aswell.
But the upside down portrait mode is now broken aswell (Home button facing north). First it showed the Motorola screen again. I copied the loading-Portrait.png and changed the name to loading-PortraitUpsideDown.png, as the documentation suggests. This shows the loading screen again, but this one jumps up about 10centimeters halfway during loading. Kinda what we saw in the landscape mode, but not as much so that it falls out of the screen.
Thanks for the fix, I hope you can take a look at this other issue to.
Kind regards,
Bart.
(note: I did test this in our production application, not in the test application earlier)
Points: 0
You voted ‘up’
your loading-Portrait.png and loading-PortraitUpsideDown measure 640x960, that size is correct for Default@2x.png but these should be 768x1024. Try enlarging them, that should fix the jump.
Javier
Kutir Mobility
Points: 0
You voted ‘up’
That did indeed fix the last little issue! Thanks for the help fixing this issue!
Bart
Points: 0
You voted ‘up’
Please describe me all your loading images with sizes (show me list of filenames with size). Do you use rake or XCode for building ?
Points: 0
You voted ‘up’
Hello Dmitry,
In my latest response to Javier you can find the information that you would like to see.
Bart
Points: 0
You voted ‘up’
Please check your loading images according to our documentation (Rhomobile | Rhodes Application User Interface)
Also if you want to support iPhone5 screen size(else you application will run on iPhone5 with black panes for use only standard iPhone (1-4) screen size), you should add this loading image to project :
loading-568h@2x.png - for iPhone5 screen size; size 640x1136
Points: 0
You voted ‘up’