Моя горизонтальная прокрутка не работает - PullRequest
0 голосов
/ 05 июля 2018

Я добавил вид прокрутки к представлению в моем приложении, оно выбрано из контроллера вкладок и, как таковое, является контейнером, а не UIViewController, оно объявлено как показано ниже

class HomeViewController: Container, UIScrollViewDelegate {..

Я добавил вид прокрутки в раскадровку и добавил в него все компоненты, назначил делегата из раскадровки и поместил этот код в свой ViewController

scrollview.contentSize = CGSize(width:1048, height:scrollview.frame.height)
scrollview.delegate = self

Вот так мой ScrollView выглядит в моей раскадровке, вы можете видеть, что scrollview - это мой UIScrollView, затем я добавил UIView viewScroll, а затем добавил четыре представления к viewScroll (View1, View2, View3 и View4), размер прокрутки имеет размер 375x340 и viewScroll установлен на 1048x340

enter image description here

Когда я запускаю приложение, оно не прокручивается. Поскольку это не UIViewController, мне нужно подходить к этому по-другому или я что-то упустил?

1 Ответ

0 голосов
/ 05 июля 2018

Я добавил прокрутку в раскадровку и установил ширину 1050, а высоту 330

Вы должны установить ширину и высоту вида прокрутки, чтобы он был максимально большим, чем его содержащий вид. Вам нужно установить 1050, а 330 - это contentSize вида прокрутки - scrollView можно прокручивать только тогда, когда его contentSize больше, чем его границы.

Если вы настраиваете вид прокрутки с помощью Interface Builder, вам нужно будет добавить ограничения для его дочерних ребер. Например, в вашем случае вы должны будете добавить ограничения в начале, в конце, сверху и снизу к вашему представлению View Scroll. Выберите его и добавьте следующие ограничения в конструктор интерфейса:

Constraints

После этого будет что-то вроде этого:

enter image description here

Когда вы добавляете ограничения ребер к дочерним представлениям UIScrollView, вы намекаете на представление прокрутки относительно размера его содержимого. И если представление с прокруткой знает размер своего содержимого и оно превышает границы представления с прокруткой, у вас будет работать прокрутка.

...