Как добавить строку состояния в приложение газетного киоска BakerFramework, не оставляя места под содержимым?

Я пытаюсь добавить черную строку состояния в приложение для газетных киосков BakerFramework для iOS, когда проблемы просматриваются в iOS 7+. Ранее в iOS 7+ строка состояния исчезала при просмотре проблем.

Первая "страница" журнала является титульной страницей и состоит из HTML-страницы с IMG тег в теле, размер которого равен max-width:100% max-height:100%, В Safari, просматривая этот HTML-файл, изменяя размер окна до правильного соотношения сторон, изображение просто заполняет экран, и больше ничего нет - никаких дополнительных пробелов или чего-либо еще. Изображение имеет правильное соотношение сторон (1536px x 2008px), чтобы оно помещалось на экране iPad под строкой состояния, а затем идеально заполняло экран. Теперь изначально, без строки состояния, IMG заполняет экран iPad за исключением пустого места в 20 пикселей внизу. Но когда мы добавляем строку состояния 20px вверху, все должно быть идеально, верно?

Я добавил этот код в didFinishLaunchingWithOptions метод:

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7)
{
    self.window.clipsToBounds = YES;
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    [self.window setAutoresizingMask:UIViewAutoresizingNone];
    self.window.frame =  CGRectMake(0, 20, self.window.frame.size.width, self.window.frame.size.height-20);
    self.window.bounds = CGRectMake(
        self.window.frame.origin.x,
        self.window.frame.origin.y,
        self.window.frame.size.width,
        self.window.frame.size.height
    );
}

... и это в файл BakerViewController.m:

- (BOOL)prefersStatusBarHidden {
    return NO;
}

Это дает мне статусную строку, как я хочу, и перемещает мой контент на 20 пикселей вниз, чтобы строка состояния не накладывалась на мой контент, и чтобы IMG отлично заполняет остальную часть экрана. Однако, это также, кажется, оставляет пустое пространство в 20 пикселей под моим контентом, вытесняя это пространство за пределы экрана! Поскольку это приложение BakerFramework, весь мой контент - HTML. В HTML иногда у нас есть CSS position:fixed bottom:0 элемент на некоторых страницах. Этот элемент фиксированного положения, кажется, располагается вдоль основания нижнего пространства, на 20 пикселей ниже нижней части экрана, а не вдоль основания самого экрана! Я ожидал, что нижнее пространство будет полностью удалено вышеуказанными изменениями кода, но это не так.

Это похоже на то, что приведенный выше код на самом деле не изменяет размер окна документа HTML... скорее, он только перемещает окно документа HTML вниз на 20 пикселей. Мне нужно изменить размер окна документа HTML.

Я очень, очень плохо знаком с разработкой для iOS, поэтому мне понадобится рука. Если у вас есть какие-либо предложения для меня, чтобы избавиться от свободного места в 20px под моим контентом, я был бы очень признателен.

Спасибо!

1 ответ

Решение

Наконец-то разобрался с исправлением. Пришлось добавить: pageHeight = pageHeight - 20; к setPageSize метод в BakerViewController.m. Надеюсь, это кому-нибудь поможет.

Другие вопросы по тегам