Соотношение содержимого iOS7 на 20 пикселей для несуществующих статусных баров

У меня странное поведение с моими UIViews, когда я перехожу на iOS7. Кажется, что им отправлено сообщение с сокращением на 20 пикселей. Я удалил строку состояния из всех моих XIB файлов и явно установил ее в скрытое в делете приложения. Кажется, мой UINavigationController отправил сообщение:

_computeAndApplyScrollContentInsetDeltaForViewController

который, в свою очередь, отправляет сообщения в мои просмотры прокрутки

_adjustContentOffsetIfNecessary

которые устанавливают смещение на -20 пикселей... Это не должно произойти, потому что нет никакой причины для этой функции корректировать что-либо на эту сумму.

Есть ли у кого-нибудь идея, как это исправить?

Ответы

Ответ 1

Я нашел решение! Просто установите:

self.automaticallyAdjustsScrollViewInsets = NO;

на контроллере представления, который имеет вид прокрутки в виде представления...

Ответ 2

20 пикселей (или, может быть, точек), которые звучат как строка состояния, когда НЕ принимает телефонный звонок (я считаю, 40 при получении вызова). Не уверен, что это исправит вашу проблему, но у меня возникла проблема, когда в iOS7 моя строка состояния не скрывалась. Я спрятал его программно, и он все еще отображается в iOS7, но при запуске в iOS6 строка состояния скроется соответствующим образом. Вы должны перейти к plist и добавить следующее: "просмотреть статусную строку состояния на основе контроллера" и установить значение NO.