Fixed the extended launch screen causing minor visual issues when rotating the screen in some circumstances.
--- a/src/video/uikit/SDL_uikitappdelegate.h Thu Jan 15 01:15:24 2015 -0400
+++ b/src/video/uikit/SDL_uikitappdelegate.h Sat Jan 24 23:53:41 2015 -0400
@@ -25,7 +25,6 @@
- (instancetype)init;
- (void)loadView;
-- (BOOL)shouldAutorotate;
- (NSUInteger)supportedInterfaceOrientations;
@end
--- a/src/video/uikit/SDL_uikitappdelegate.m Thu Jan 15 01:15:24 2015 -0400
+++ b/src/video/uikit/SDL_uikitappdelegate.m Sat Jan 24 23:53:41 2015 -0400
@@ -115,7 +115,9 @@
return image;
}
-@implementation SDLLaunchScreenController
+@implementation SDLLaunchScreenController {
+ UIInterfaceOrientationMask supportedOrientations;
+}
- (instancetype)init
{
@@ -126,6 +128,9 @@
NSBundle *bundle = [NSBundle mainBundle];
NSString *screenname = [bundle objectForInfoDictionaryKey:@"UILaunchStoryboardName"];
+ /* Normally we don't want to rotate from the initial orientation. */
+ supportedOrientations = (1 << [UIApplication sharedApplication].statusBarOrientation);
+
/* Launch screens were added in iOS 8. Otherwise we use launch images. */
if (screenname && UIKit_IsSystemVersionAtLeast(8.0)) {
@try {
@@ -211,6 +216,12 @@
}
if (image) {
+ if (image.size.width > image.size.height) {
+ supportedOrientations = UIInterfaceOrientationMaskLandscape;
+ } else {
+ supportedOrientations = UIInterfaceOrientationMaskPortrait;
+ }
+
self.view = [[UIImageView alloc] initWithImage:image];
}
}
@@ -223,14 +234,9 @@
/* Do nothing. */
}
-- (BOOL)shouldAutorotate
-{
- return YES;
-}
-
- (NSUInteger)supportedInterfaceOrientations
{
- return UIInterfaceOrientationMaskAll;
+ return supportedOrientations;
}
@end
@@ -333,7 +339,7 @@
SDL_SetMainReady();
[self performSelector:@selector(postFinishLaunch) withObject:nil afterDelay:0.0];
-
+
return YES;
}