iPhone, скрывающий StatusBar, смещает изображение вниз на 20 пикселей - PullRequest
2 голосов
/ 26 ноября 2011

У меня есть представление, выложенное в конструкторе интерфейсов. Первоначально он использовал StatusBar, добавленный в верхнюю часть представления в конструкторе интерфейсов. Теперь я решил избавиться от строки состояния, но при звонке

 [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];    

Мой взгляд все еще смещен на 20 пунктов. Я предполагаю, что мой UINavigationController не получает сообщение и сохраняет мой взгляд в старом местоположении.

Кто-нибудь еще знает, что может быть причиной этой проблемы?

Я пытался:

 self.view.center = CGPointMake(self.view.center.x, self.view.center.y-21); This does not work. 

Я пробовал:

   self.view.center = CGPointMake(self.view.center.x, self.view.center.y-21);

Это работает, но оставляет черную полосу размером 20 пикселей в нижней части перед панелью вкладок.

Как бы я перевести свой вид в режим без строки состояния без необходимости вручную настраивать все виды на 21px?

PS. Представление отображается идеально, если я удаляю строку состояния в делегате приложения перед созданием UINavigationController для представления

Ответы [ 2 ]

8 голосов
/ 27 ноября 2011

Возможно, вы захотите позвонить

[myViewController setWantsFullScreenLayout:YES];

Это должно позволить ему занять лишние 20 пикселей.

0 голосов
/ 26 ноября 2011

Интерфейсный конструктор имеет опцию «имитировать элементы интерфейса».Вы все еще имитируете «строку состояния»?Вам нужно отменить эту опцию, если ваш фактический вид не показывает строку состояния.

...