Хобрук: Ваш путь к мастерству в программировании

Scrollview не работает должным образом на iPad в xcode (iOS)

Недавно я создавал приложение, для которого требуется прокрутка, чтобы весь контент соответствовал. У меня было несколько трудностей с созданием моего прокрутки. Я пробовал несколько разных методов для его создания, но в итоге построил его в раскадровке с автомакетом. Я установил высоту контроллера представления на 1000, и, следовательно, также смоделированный размер произвольной формы. Ширина представления содержимого внутри прокрутки у меня такая же, как у представления, содержащего прокрутку.

Иерархия выглядит следующим образом:

  1. -Просмотр сцены контроллера
  2. -Верхнее руководство по макету
  3. -Нижняя направляющая макета
  4. -Вид
  5. -Прокрутка просмотра
  6. -Просмотр содержимого
  7. -Ярлык с текстом здесь
  8. -Ограничения
  9. -И так далее

Я воспроизвел процесс по этой ссылке, чтобы создать прокрутку: https://www.ralfebert.de/snippets/ios/auto-layout-recipes/uiscrollview-storyboard/

При запуске приложения на симуляторе я получаю следующий результат: Scrollview не работает должным образом на iPad. Кажется, что вид прокрутки не адаптируется к изменениям ширины, что происходит, когда он работает на iPad, поскольку он больше. Когда приложение запускается на iPad, прокрутка остается такой же ширины, как если бы она отображалась на iPhone.

Вот так это выглядит в редакторе. Контроллер представления слева — это контроллер представления, в котором реализована прокрутка, а справа — нет. На первом изображении показана раскадровка при просмотре на iPhone 8, а на втором — при просмотре на 9,7-дюймовом iPad: iPhone 8

iPad 9,7

Было бы очень признательно, если бы кто-нибудь мог дать мне подсказку, что происходит!

РЕДАКТИРОВАНИЕ: левая сторона — это то, как это выглядит, а правая — это то, как это должно выглядеть:


  • Я не уверен, в чем проблема, о которой вы говорите? Как вы хотите, чтобы это выглядело? На что это похоже? Можете ли вы показать скриншот настройки вашего представления. Бит иерархии 07.12.2017
  • Две идеи. Во-первых: вы напортачили с ограничениями автомакета. Во-вторых: похоже, что у вас есть textView, центрированный по вертикали внутри UIView в UIScrollView. 07.12.2017
  • @Fogmeister Я разместил изображение внизу 07.12.2017

Ответы:


1
  1. Добавьте UIScrollView к основному виду
  2. Установите ограничения Top, Left, Right, Bottom на ноль
  3. Добавьте UILabel внутри прокрутки
  4. Установите количество строк на ноль
  5. Установите ограничения Top, Left, Right, Bottom на ноль
  6. Установите ограничение ширины метки, равное ширине прокрутки

Это должно сделать это :)

Это позволит выровнять текст метки по верхней части прокрутки. Если вы добавите достаточно текста, чтобы заполнить больше, чем весь экран, он будет прокручиваться вертикально.

07.12.2017
Новые материалы

Учебные заметки JavaScript Object Oriented Labs
Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

Разбор строк запроса в vue.js
Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
«Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..

Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

Как настроить Selenium в проекте Angular
Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

Аргументы прогрессивного улучшения почти всегда упускают суть
В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

Введение в Джанго Фреймворк
Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..