«Прокрутка размер содержания неоднозначный„ScrollView“

голоса
0

Я немного застрял с ScrollView в Swift и Xcode 11.

Моя цель простая ScrollView с этикеткой и TextFields. Каждая метка описывает то, что текстовые поля используются. Например есть метка «Имя», так что вы должны ввести свое имя в текстовое поле под лейблом. Для этого мне нужно Scrollview, потому что App я кодирования требуется несколько больше информации. Когда я пытаюсь поставить это в Scrollview я постоянно получает следующее сообщение об ошибке: «Размер содержимого прокрутки является неоднозначным ScrollView».

Для того , чтобы найти помощь , которую я искал в Интернете и, например , нашел этот вопрос: UIScrollView Scrollable Content Размер Неоднозначность . К сожалению , это не решить мою проблему. Поэтому я решил создать небольшой тестовый проект с нижеследующим: - Я создал проект как единое представление заявки - я добавил Scrollview к ViewController - я нажал на Сдерживает кнопки на холсте - Я выбрал 0,0,0 , 0 для ведущих / верхней / задней / нижней части . - Я нажал на «добавить 4 Сдерживает - Теперь предупреждение появилось Также ScrollView не был изменен размер в ViewController ... Я не знаю , почему. -. Я добавил UIView внутри ScrollView и установить те же Сдерживает, на этот раз по . к ScrollView - The UIView (Content вид) получил дополнительный Ограничить:. Ровный ширину с точки зрения корня - Теперь я добавил две кнопки, одна с текстом «Hello» , а другой с «миром» на нем - привет -Кнопка получила следующие сдерживает: 16 ведущие, отставая и сверху, а также фиксированную высоту 30 -„мир“-Кнопка получила следующие сдерживает: от 16 до дна, что приводит, отставая и через 1000 так вы можете пролистать ScrollView.

После всех этих шагов, ошибка все еще там, и если я запустить приложение «Здравствуй» -Кнопка находится в верхней части экрана и «мир» -Кнопка находится в нижней части, и я не могу прокрутки.

Может, может кто-нибудь мне помочь устранить эту проблему. Я с нетерпением ждет каждый ответ! Спасибо за вашу помощь заранее!

Задан 13/02/2020 в 23:53
источник пользователем
На других языках...                            


2 ответов

голоса
0

Похоже, что вы находитесь на правильном пути, и очень близко.

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

Тогда вы удаляете старый добрый UIView в ScrollView, и придавить его сверху, в конце, снизу, а также ведущие ограничения к ScrollView (все как нуль снова). Затем вы устанавливаете UIView иметь одинаковую ширину в ScrollView. Последнее, что это установить высоту UIView в равной высоты Scrollview, но изменить одну вещь: вы установите приоритет этого ограничения будет низким (250). Это в основном то, что позволяет UIView превышать размер ScrollView, так что вы можете затем прокрутки.

Все, что вам сделать, это добавить свои кнопки и т.д. внутри UIView, так что вы поместите их по отношению к нему, а не ScrollView, и пин-код или выровнять их по своему желанию.

Ответил 14/02/2020 в 00:53
источник пользователем

голоса
0

Вот трюк, который работал для меня:

  1. Добавить Scrollview к вашему желает ViewController.

  2. Выберите его в Outline и открыть его размер инспектора.

  3. Uncheck есть опция "Content Layout Guides".

  4. Теперь установите ведущий / верх / задняя и нижняя сдерживает до 0 из ScrollView.

  5. Добавить в UIView и ограничить его ведущий / верх / низ задних и также 0.

  6. Добавьте равную ширину Ограничить в UIView. (Ширина должна быть равна ширине вид с ViewController, с этим способом вы disabeling горизонтальной прокрутки).

  7. Предупреждение исчезнет, ​​если каждый элемент внутри UIView прикован вертикально. Это означает, что верхний элемент имеет Ограничить к верхней части представления и к элементу под ним и так далее. Последний элемент необходим Ограничить в нижней части окна.

Если вы следовали этим шагам, вы должны быть хорошо с ScrollViews. Таким образом, вы также можете добавить столько содержание, сколько вы хотите, чтобы дно и ScrollView продлит динамически.

Я надеюсь, что я объяснил, что это достаточно хорошо.

Ответил 14/02/2020 в 21:16
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more