Дополнительное верхнее пустое пространство, начиная с IOS 8 с использованием автомакета и прокрутки

После нового обновления для IOS8 у меня появилось дополнительное пустое пространство над моим контентом в моем прокрутке. Мое представление содержимого должно быть сосредоточено в моем представлении прокрутки, и оно отлично работает на IOS7.

Вот результат:

введите здесь описание изображения

Вот версия раскадровки, в которой нет пробелов:

введите здесь описание изображения

Мне интересно, что может вызвать это дополнительное пространство, есть ли что-нибудь новое в ios8, что приведет к тому, что в моем представлении контента появится дополнительное пространство?

Может быть, мне нужно изменить способ отображения моего представления?

Спасибо!

РЕДАКТИРОВАТЬ. Мое решение состояло в том, чтобы снять отметку с настройки вставки полосы прокрутки только в моих представлениях, в которых возникла проблема. Однако решение ниже, которое я принял, тоже работает.


person Pilouk    schedule 25.09.2014    source источник
comment
Случайно ли у вас не установлен флажок «Настроить вставки прокрутки» в инспекторе атрибутов контроллера представления заголовка? Как насчет расширения краев под непрозрачными полосами? Похоже, что ваш вид прокрутки не распространяется под верхней панелью.   -  person BFar    schedule 26.09.2014
comment
Флажок «Отрегулировать вставку полосы прокрутки» установлен, а оба расширения под верхней/нижней полосой отмечены флажком. Если я сниму флажок только с AdjustScroll, вид на самом деле будет не по центру, а прямо под панелью навигации.   -  person Pilouk    schedule 26.09.2014
comment
Я использовал решение из вашего редактирования, и оно отлично работает.   -  person Martin Perry    schedule 12.10.2014


Ответы (5)


У меня была точно такая же проблема, и я придумал два возможных решения, оба из которых ужасны и заставляют меня стыдиться быть программистом:

  1. Ограничьте верхнюю часть прокручиваемого представления верхней частью прокручиваемого представления, но с константой -64, которая является высотой дополнительного пространства. Я не знаю почему.
  2. Добавьте пустой UIImageView в качестве родственного элемента UIScrollView и ограничьте его, чтобы он был на одном уровне со всеми четырьмя сторонами корневого вида.

Я надеюсь, что это просто ошибка iOS 8, так что я смогу воспользоваться своим хаком и спуститься с уступа.

person NRitH    schedule 26.09.2014
comment
Используйте скорее решение от OP Edit - person Martin Perry; 12.10.2014
comment
В то время, когда на этот вопрос был дан первый ответ, вставка регулировки прокрутки не работала должным образом. - person NRitH; 20.06.2016

Я столкнулся с той же проблемой в iOS 8, вот решение, которое я нашел: - Выберите View Contoller (в раскадровке), в котором вы добавили представление прокрутки - В «Инспекторе свойств» в разделе «Макет» снимите флажок «Настроить вставки прокрутки». "

person Ali Awais    schedule 26.06.2015
comment
Это решило мою проблему без каких-либо дополнительных настроек. +1 - person anoop4real; 06.08.2015

Попробуйте это в своем viewDidLoad для этого прокрутки:

self.automaticallyAdjustsScrollViewInsets = NO;
person theprojectabot    schedule 25.07.2015
comment
У меня работает только установка ViewController.automaticallyAdjustsScrollViewInsets в раскадровке - person Jerome; 19.05.2021

снимите флажок «Расширить края:» под верхними панелями основного вида и установите верхнее расстояние подвида равным 0 вместо отрицательного значения. это работает для меня.

person nasser    schedule 07.10.2015

в ViewDidLoad() установите rootScrollView.contentInsetAdjustmentBehavior = .never

работай на меня

person Jerome    schedule 19.05.2021