Я использую автоматическое размещение в Xcode и создаю довольно высокий (1300 пикселей) ViewController с uiscrollview для навигации вверх и вниз. Я сделал контроллер представления произвольным, поэтому его размеры [375,1300]. Затем я включил прокрутку, добавил представление содержимого, а также все подпредставления и ограничил все, не оставив ошибок ограничений. Во время выполнения ошибок нет, но все отображается до нормального размера экрана, когда я планировал сделать его очень высоким (~ 1300 пикселей) и прокручиваемым. Есть какие-нибудь подсказки относительно того, что я делаю неправильно?

Ниже приведена диаграмма, показывающая проблему, в которой:

  1. Внешний черный ящик - это представление контроллера представления

  2. Внутренние черные ящики - это подвиды

  3. а синий ящик - это то, что отображается на экране

picture describing my question

1
Ryan Cocuzzo 3 Янв 2018 в 02:00

2 ответа

Лучший ответ

Да, ваш правильный @Ryan Cocuzzo. Я думаю, вам нужно установить приоритет подвидов от 1000 до 250. См. Снимки экрана ниже.

1) Выберите ограничение высоты подвид

2) Затем перейдите к инспектору по размерам

enter image description here

3) Теперь измените ограничение приоритета с 1000 на 250.

enter image description here

4) В итоге получилось вот так

enter image description here

2
iOS 3 Янв 2018 в 06:14

Убедитесь, что верно следующее:

  1. Четыре представления контента являются подвидами UIScrollView, а не вашего контроллера представления.
  2. Ограничения автоматического размещения для 4 представлений содержимого должны ссылаться только на UIScrollView, а не на представление контроллера представления.
  3. У 4-го блока не может быть нижнего ограничения.

Похоже, что у 4-го блока есть ограничение, чтобы его нижняя часть выровнялась с нижней частью представления контроллера представления. Это заставило бы другие взгляды слиться воедино. Четвертое поле также не может иметь нижнего ограничения, чтобы прокрутка могла изменять свой размер, чтобы охватить его подвиды.

0
Adam Kaplan 3 Янв 2018 в 05:09