У меня есть UIView, который я хочу добавить в keyWindow, чтобы он охватывал все (включая StatusBar).Когда я добавляю представление, я удаляю строку состояния, используя следующий фрагмент кода:
[[UIApplication sharedApplication].keyWindow addSubview:aView];
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
aView.frame = [[UIApplication sharedApplication].keyWindow bounds];
Все выглядит так, как ожидалось.Если я затем удалю вид и снова добавлю строку состояния, все в порядке.Тем не менее, все идет не так, когда я поворачиваю свое устройство, а затем удаляю вид.Пользовательский интерфейс теперь частично покрыт строкой состояния (в данном случае - панелью навигации).Вращение устройства немедленно изменяет размер всего, чтобы пользовательский интерфейс снова выглядел нормально.
Как я могу убедиться, что пользовательский интерфейс (любой пользовательский интерфейс!) Знает, что StatusBar снова скрывается, так что он автоматически настраивается, как только UIView удаляетсяfrom keyWindow.?
Решение должно работать независимо от типа пользовательского интерфейса в приложении.В данном конкретном примере я использую панель вкладок и контроллер навигации, но это не всегда так.