iOS 7 — исправлена ​​строка состояния, теперь нижняя часть приложения PhoneGap обрезана на 20 пикселей.

Мое приложение PhoneGap было испорчено на iOS 7, как, по-видимому, и большинство из них поначалу - строка состояния была чистой, а текст был поверх (перекрывая) панель навигации моего приложения на основе HTML. Я исправил это:

В [имя приложения] info.plist:

 View controller-based status bar : NO    
 Status bar style : UIStatusBarStyleLightContent

В MainViewController.m под - (void)viewWillAppear:(BOOL)animated находится:

self.view.frame = [[UIScreen mainScreen] applicationFrame];

[super viewWillAppear:animated];
NSArray *vComp = [[UIDevice currentDevice].systemVersion 

componentsSeparatedByString:@"."];

if ([[vComp objectAtIndex:0] intValue] >= 7) { // iOS 7 or above

    CGRect oldBounds = [self.view bounds];
        /* Changing the -20 to 0 takes away the black bar 
           at the top, making the status bar text overlap
           my content again... positive 20 of course makes
           my content cut off by 20px at the top, so obviously
           this is the cause of the problem */
           CGRect newBounds = CGRectOffset(oldBounds, 0, -20);

    [self.view setBounds:newBounds];

}

Я не буду делать снимок панели настроек файла MainViewController.xib, потому что я почти уверен, что они не имеют значения из-за того, что я установил в info.plist? Дайте мне знать, если я ошибаюсь.

Мое приложение также поддерживает вращение, если это имеет значение. И я использую Кордову 2.1.0.


ВОПРОС

Мой HTML-код обрезается на 20 пикселей внизу из-за того, что я добавил, пытаясь заставить строку состояния iOS 7 отображаться правильно. Если я нахожусь в нижней части страницы в приложении и провожу пальцем, чтобы прокрутить вниз дальше, я действительно вижу нижнюю часть своей страницы, но когда я поднимаю палец, она все еще обрезается на 20 пикселей (дайте мне знать, если это бессмысленно). Что здесь не так? И как мне это исправить? В iOS 6 и ниже это НЕ проблема — все идеально.

Спасибо!


person tylerl    schedule 07.12.2013    source источник


Ответы (1)


https://stackoverflow.com/a/19188984/706751

Это лучшее решение для людей, использующих PhoneGap и испытывающих проблему со строкой состояния iOS 7. Если другие решения обрезают ваш контент или не справляются с вращением, это, вероятно, сработает для вас!

person tylerl    schedule 08.12.2013