В этом случае, вероятно, лучше иметь вид за пределами вида с прокруткой, но также связывать ограничения и с внутренним видом.Вы используете приоритеты для управления этими ограничениями.
В вашем случае вы снизите приоритет нижнего ограничения (например, до 500).И вы бы добавили ограничение как outsideView.top <= insideView.bottom
.Поэтому подключите внешний вид к одному из представлений внутри вида прокрутки и создайте отношение, которое будет меньше (или больше, если 2 элемента перевернуты) или равно этой точке обзора.
Чтобы создать демонстрацию этого запускановый проект и откройте Main.storyboard:
- Добавьте представление прокрутки с ограничениями на начало, конец, верх, низ
- Добавьте пробел
UIView
(теперь называется innerView
) в представлении прокрутки и добавьте начальные, конечные, верхние и нижние ограничения - Добавьте ограничение высоты к
innerView
до 2000 - Добавьте ограничение равной ширины между
innerView
и вашим представлением прокрутки - Установить нижнее ограничение между
innerView
и прокруткой на 100 - Установить отдельный цвет на
innerView
, чтобы увидеть эффект - Все остальные ограничения должны быть установлены на 0
- Добавьте еще один
UIView
на верхнем уровне (теперь он называется outerView
) - Прикрепите внешний вид вперед, сзади и снизу.Также добавьте ограничение высоты к 50
- Установите отдельный цвет на
outerView
, чтобы увидеть эффект.
К настоящему времени у вас должен быть прокручиваемый вид прокрутки и фиксированный вид навнизу, если вы запустите приложение.
- Теперь подключите
outerView
с innerView
и выберите «вертикальный интервал» - Дважды щелкните по вновь созданному ограничению и измените его:
- (При необходимости) Поменять местами первый и второй элемент, чтобы внешний вид был первым элементом
- Изменить отношение на «меньше или равно»
- (При необходимости) выбрать externalView.top
- (При необходимости) выберите innerView.bottom
- Установить константу равной нулю
- Выберите
outerView
и найдите нижнее ограничение для безопасной области (или суперпредставления) и установите его приоритет 500.
Теперь запустите приложение.Если все правильно, ваш фиксированный вид будет исправлен, пока вы не прокрутите достаточно далеко.После отображения 2000 пикселей фиксированный вид будет прокручиваться с видом прокрутки.
Вы можете прикрепить его к любому представлению в представлении прокрутки, чтобы получить любой возможный эффект, который вам нужен.
Надеюсь, это описательныйдовольно.Удачи.