iOS 6 и 7 UINavigationBar Spacing

Мы приступаем к серьезной переработке нашего приложения для поддержки пользовательских интерфейсов iOS 6 и iOS 7. Экран-заставка нашего приложения содержит контроллер модального представления с UINavigationBar, который появляется и позволяет пользователю войти в систему с помощью Google (OAuth). Я использую Xcode 5 для создания обеих версий (используя вкладку «Инспектор файлов»), и я использую xibs в пользу раскадровок из соображений удобства обслуживания — в версии 1 использовались раскадровки, и через некоторое время по мере роста нашего приложения было трудно ориентироваться. по размеру и размаху.

В Xcode 5:

iOS 6: iOS 6 Interface Builder xib

iOS 7: iOS 7 Interface Builder xib

и когда я запускаю приложение, версия iOS 6 отображается правильно (поскольку строка состояния по-прежнему различима и между часами и панелью навигации есть правильное расстояние):

iOS 6 работает

Но обратите внимание, что в версии iOS 7, поскольку отдельной «строки состояния» больше нет, текст заголовка моего UINavigatonBar расположен слишком близко к часам:

iOS 7 работает

Как все примирились с этим до сих пор? Я заметил, что такие приложения, как Facebook и Twitter, уже обновлены и используют «расширенную» (не уверен, что это правильная терминология) панель навигации, которая компенсирует отсутствие различия между панелью просмотра и строкой состояния:

Обновленная панель навигации Twitter

Как они этого добились? Я не вижу ничего конкретного, касающегося этого в рекомендациях Apple по переходу пользовательского интерфейса iOS 7, поэтому любая помощь будет оценена, и я уверен, что многие другие тоже столкнутся с этой проблемой, поэтому, надеюсь, это поможет им. Спасибо!


person Stefan Arambasich    schedule 20.09.2013    source источник


Ответы (1)


Быстрый ответ:

Используйте UINavigationController! Это решит вашу проблему. Если не можете, используйте авторазметку!

person Gustaf Rosenblad    schedule 20.09.2013