При загрузке NIB строка состояния становится полностью черной и остается черной

Мой начальный экран (мой основной экран приложения) - это UIView, где все делается программно. Я хотел использовать XIB для моего экрана "настроек", но я получаю странную полностью черную полосу вверху над строкой состояния:

Экран после загрузки NIB

Я переключаюсь на это следующим образом:

[[NSBundle mainBundle] loadNibNamed:@"ISViewController" owner:self options:nil];
self.view.transform = CGAffineTransformMakeRotation(-(M_PI * (90) / 180.0));
self.view.frame = [UIScreen mainScreen].applicationFrame;

Мне нужно было повернуть его, но даже если я закомментирую CGAffineTransformMakeRotation, я все равно получу черную полосу. Настройка XIB, называемая "Строка состояния", установлена ​​на "Light Content".

При выходе из экрана XIB я использую следующее, чтобы вернуться к исходному виду:

self.view = jViewLayer;

Но черная полоса остается! Странно, но теперь границы представления фактически сместились вниз на высоту строки состояния (это происходит только после того, как я поднял мой XIB и затем вернулся). Это может быть ключом к тому, что происходит для того, кто пытается мне помочь. Спасибо всем

1 ответ

Я не уверен, что понимаю почему, но я заменил приведенный выше код и вместо этого решил этот вопрос:

[[NSBundle mainBundle] loadNibNamed:@"ISViewController" owner:self options:nil];
self.view.transform = CGAffineTransformMakeRotation(-(M_PI * (90) / 180.0));
CGRect menuNibFrame = CGRectMake(0, 0, 768, 1024);
self.view.frame = menuNibFrame;

В [UIScreen mainScreen].applicationFrame] есть что-то интересное, чего я не понимаю.

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