Autolayout: отсутствие эффекта отскока, когда верхний край закреплен в безопасной области - PullRequest
0 голосов
/ 11 июня 2018

Быстрый вопрос о странном поведении Auto Layout в Xcode 9.2, построенном на Swift 4.

Итак, моя сцена состоит из UIScrollView, прикрепленного к UIViewController по всем 4 ребрам.Внутри UIScrollView находится UIView («Просмотр содержимого») , также прикрепленный по всем 4 ребрам к своему суперпредставлению.Теперь проблема в том, что, если у меня есть еще UIView в представлении содержимого, и я прикалываю верхний край к безопасной области, а не к суперпредставлению, прокрутка все еще работает, но когда она достигает вершины, поведение отскока отсутствует.Это просто останавливается там.

Я бы хотел добиться эффекта эффекта резиновой ленты, когда страница достигает верхней части без обрезки внутреннего вида из-за надреза iPhone X (отсюда ограничения для безопасной области сверху, а не Superview).делать что-то не так здесь?Проверьте GIF ниже.

Первый: UIView прикреплен к Superview представления содержимого - обратите внимание, что эффект отскока активен

Второй: UIView прикреплен к безопасной области просмотра содержимого - отказов нет, и прокрутка сразу останавливается

1 Ответ

0 голосов
/ 20 июня 2018

Попробуйте выполнить следующее:

  1. UIScrollView закреплено 0 (в безопасную зону) на всех 4 ребрах.
  2. UIView ("просмотр содержимого") закреплено на всех 4края (для Superview) и установите Equal Heights на View и выровняйте центр X.
  3. Поместите вторую UIView внутри первого и закрепите все 4 ребра (в Superview).Примечание: если вы сделали первые 2 шага, это даже не дало бы вам возможность прикрепить его в безопасную зону.

Все работает так, как нужно, без отсечения, и вы получите отскок, когда ондостигает вершины.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...