Вы можете создать контейнерное представление, включающее все ваши "нормальные" представления и везде устанавливать маски авторазмера.Таким образом, сокращение вашего контейнера будет автоматически изменять размер всего остального.Фактически, именно так работают UIViewControllers.Но имейте в виду, что хотя стандартные контроллеры Apple, такие как UINavigationController, знают, как обращаться со строкой состояния, они ничего не знают о том, что вы хотите сделать, поэтому они будут путать чаще, чем нет.
В качестве альтернативы, вы всегда можете показать свою собственную строку состояния под реальной, скрывая последнюю при необходимости.Но в этом случае вам придется бороться с предоставленными Apple контроллерами, которые будут пытаться расширяться при скрытии строки состояния.Вы также можете поиграть с двумя окнами, где верхнее окно не перекрывает строку состояния, но я не уверен, что будет легче.
Поскольку Apple не поддерживает ничего из вышеперечисленного,ожидайте, что многие вещи перестанут работать правильно.Возможно, самый лучший подход - переосмыслить дизайн вашего интерфейса.