EDIT: Это не проблема с фреймом. Рамка находится в правильном месте. Это содержимое отключено. Да, мы компенсируем четкую строку состояния. ViewDidLoad показывает, что смещение содержимого равно 0,0.ios7 все поисковые запросы и таблицы просмотров на 20 пикселей
На каждой странице моего приложения, у которого есть прокрутка, содержимое помещается на 20 пикселей. Я думаю, что это может иметь какое-то отношение к новому StatusBar или его отсутствию. Кажется, что ошибка присутствует в меню настроек симуляторов. Снимок экрана ниже. Это только влияет на первое представление прокрутки, которое добавляется в ViewController, и только в том случае, если к нему не добавлены другие представления. Представления таблицы также затрагиваются, поскольку они наследуются от представления прокрутки. Чтобы быть ясным, scrollview начинается с правильного начала, но контент сбрасывается на 20 пикселей. Это странно, потому что я думаю, что если бы это была проблема с баром состояния, это было бы на 20 пикселей выше, не ниже.
В настоящее время мы фиксируем его, добавив в наш базовый вид контроллера
UIView *hackView = [[UIView alloc] init];
hackView.frame = CGRectMake(0, 0, 0, 0);
[self.view addSubview:hackView];
Очевидно, что это хак.
То же самое происходит на телефоне и в симуляторе даже с версией IOS7 для Gold Member при создании для последней версии IOS7. Вы даже можете увидеть пример ошибки в таблице настроек симулятора, а также ниже.
Это скриншот сразу же после того, как он загружает. Одна странная вещь, которую мы заметили, заключается в том, что когда мы выполняем pull для обновления, она будет корректировать scrollview и отдыхать в правильном месте. В качестве альтернативы, если мы компенсируем это будет выглядеть правильно в начале, но любое последующее вытягивание до обновления перенесет прокрутку в -20px
Все в коде и мы вычисляем все рукой. Мы еще не переключились на AutoLayout. Будет ли автоматическая компоновка влиять на контент? Из моего понимания (я мог ошибаться), который просто повлияет на структуру контейнера, а не на контент. –
Я не знаю. У меня были аналогичные проблемы, которые я разрешил, используя автоматическую компоновку с 'topLayoutGuide'. Сожалею. – czechboy
Не нужно жалеть. Я просто выражал свою озабоченность. В любом случае мне понадобится реализовать автоматическую компоновку в тот момент, когда я пытаюсь избежать этого, потому что это большой ремонт кода. (Все наши представления сделаны в коде, и у нас есть большие проблемы), если это решение, я обязательно буду вам благодарен. –