У меня есть приложение для iPhone, которое я хочу начать со скрытой строки состояния, чтобы показать заставку и переключить строку состояния обратно, когда загружается содержимое, которое будет показано (требуется несколько раз, так как оно должно быть загружено через Интернет), используя [[UIApplication sharedApplication] setStatusBarHidden:NO animated:YES]
. Я хочу, чтобы мое содержимое отображало размер и положение себя правильно после отображения и скрытия строки состояния. Я хочу, чтобы мое приложение могло работать с любой ориентацией устройства (возможно, исключая ориентацию сверху вниз, как указано в руководстве Apple).
Моя проблема: я не могу заставить приложение появляться так, как должно. Либо он показывает пробел 20pt после авторотации, либо скрывается ниже строки состояния, когда он появляется.
Каким должен быть правильный способ справиться с этим?
Я еще не тестировал его, но думаю, что такие же проблемы возникнут в панели входящих вызовов.
EDIT:
Я постараюсь лучше объяснить, в чем проблема. Когда приложение запускается, строка состояния скрыта, а в системе координат окна верхний угол видимой области окна составляет 0,0 в системе координат окна. Затем я задвигаюсь в строке состояния. Это не меняет размер окна, поэтому 0,0 точка теперь скрыта за строкой состояния. В верхней левой части видимой области окна 0,20, и мне нужно переместить мой вид на эти координаты (и соответствующим образом изменить его размер до 320 * 460). Но если я поверну устройство, а затем вернусь в исходное положение, верхняя левая координата видимой области окна снова станет 0,0, а теперь окно будет размером 320 * 480.
Обходной путь заключается в том, чтобы сохранить флаг, указывающий, был ли телефон ранее повернут, но нет ли способа изменить координаты окна при повороте в другое положение, а затем обратно?