[TIMOB-15192] iOS7: Splash-Screen flickers/stretches before disappearing
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Medium |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2013-09-17T20:35:43.000+0000 |
Affected Version/s | n/a |
Fix Version/s | 2013 Sprint 19, 2013 Sprint 19 API, Release 3.1.3, Release 3.2.0 |
Components | iOS |
Labels | ios7, splash-screen |
Reporter | Vincent |
Assignee | Sabil Rahim |
Created | 2013-09-12T18:46:01.000+0000 |
Updated | 2013-10-09T07:13:41.000+0000 |
Description
test case
open Kitchen sink in Simulator or on iPhone (tested on iphone 4)
result
before disappearing the splashScreen seems to move slightly or stretch to the top.
this prevents from having a clean & smooth transition when you re-use the splashScreen as background image for a window. test case 1
test case 2
result: splash screen moves up or stretches before disappearing with: Default@2x.png (640x960) Default-568h@2x.png ( 640x1136) Considering the IOS7 -by default - fullscreen mode, there shouldn't be such a behavior.
Related Topics in Q&A http://developer.appcelerator.com/question/157139/launch-image-ios-7gm http://developer.appcelerator.com/question/157165/ios7---313-rc---xcode5---icons-and-launch-image
Reproduced with SDK 3.1.3.v20130913160104, iOS7 GM, iOS Simulator 4" (Default-568h@2x.png). Expected: Smooth opening of the app. Result: The splashscreen flickers just before focusing the app.
I had a look to TiRootViewController: view initialization in -loadview
the size of the view is then used to set the default Image size in -(void)rotateDefaultImageViewToOrientation: (UIInterfaceOrientation )newOrientation;
the problem seems to be there since IOS7 is fullscreen, the defaultImage is unnecessary moved 20 pixels to the top in the following test (still in -(void)rotateDefaultImageViewToOrientation: (UIInterfaceOrientation )newOrientation; )
Thats it! I solved the problem by replacing line 357 in TiRootViewController.m: From: if(imageSize.width == newFrame.size.width) To: if(imageSize.width == newFrame.size.width && ![TiUtils isIOS7OrGreater]) Tested on both iOS 6 & 7. Can someone verify?
Pull pending master - https://github.com/appcelerator/titanium_mobile/pull/4701 3_1_X - https://github.com/appcelerator/titanium_mobile/pull/4702
Hans' fix works. Confirmed on SDK 3.1.3v20130916153052 Using iPhone 4S on iOS7 iPhone 3GS on iOS6.1.4
This is more visible in simulator than on device. Verified fixed with: Mac OS 10.8.4 Xcode 5 GM seed CLI: 3.1.2 Alloy: 1.2.2-cr Appcelerator Studio, build: 3.1.3.201309072408 Titanium SDK version 3.1.3.v20130917141554 Checked with iPhone 4, iPhone 5, both running iOS 7 GM seed
Still getting this issue in 3.1.3.GA using an iPad locked in landscape mode. Hans' code fixes it.
Sorry, Hans' code does not fix it - issue persist with iPad in lanscape mode.
Sorry ignore my spamming. The splash image size just needed to be changed.