Quellcode durchsuchen

Fixed the status bar visibility in iOS 7

Sam Lantinga vor 11 Jahren
Ursprung
Commit
f8c11bb955

+ 1 - 0
src/video/uikit/SDL_uikitviewcontroller.h

@@ -35,5 +35,6 @@
 - (void)viewDidLayoutSubviews;
 - (NSUInteger)supportedInterfaceOrientations;
 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orient;
+- (BOOL)prefersStatusBarHidden;
 
 @end

+ 9 - 0
src/video/uikit/SDL_uikitviewcontroller.m

@@ -119,6 +119,15 @@
     return (orientationMask & (1 << orient));
 }
 
+- (BOOL)prefersStatusBarHidden
+{
+    if (self->window->flags & (SDL_WINDOW_FULLSCREEN|SDL_WINDOW_BORDERLESS)) {
+        return YES;
+    } else {
+        return NO;
+    }
+}
+
 @end
 
 #endif /* SDL_VIDEO_DRIVER_UIKIT */

+ 2 - 0
src/video/uikit/SDL_uikitwindow.m

@@ -99,11 +99,13 @@ static int SetupWindowData(_THIS, SDL_Window *window, UIWindow *uiwindow, SDL_bo
     if (displaydata->uiscreen == [UIScreen mainScreen]) {
         window->flags |= SDL_WINDOW_INPUT_FOCUS;  /* always has input focus */
 
+        /* This was setup earlier for our window, and in iOS 7 is controlled by the view, not the application
         if ([UIApplication sharedApplication].statusBarHidden) {
             window->flags |= SDL_WINDOW_BORDERLESS;
         } else {
             window->flags &= ~SDL_WINDOW_BORDERLESS;
         }
+        */
     } else {
         window->flags &= ~SDL_WINDOW_RESIZABLE;  /* window is NEVER resizeable */
         window->flags &= ~SDL_WINDOW_INPUT_FOCUS;  /* never has input focus */