Как всегда сделать UIScrollView прокручиваемым?

У меня есть UIScrollView . scrollview.contentSize устанавливается равным высоте всех подпредставлений в UIScrollView . Когда высота contentSize больше, чем высота UIScrollView , при перетаскивании представления выполняется полная прокрутка. Когда высота contentSize меньше высоты UIScrollView , при перетаскивании представления ничего не происходит.

Я считаю, что это стандартное поведение, поскольку прокручивать действительно нечего. Но я бы хотел, чтобы UIScrollView все равно немного сдвинулся.

Возможное решение - обеспечить, чтобы высота contentSize никогда не была меньше frame.height плюс небольшой запас (например, 5 пикселей):

CGSize scrollSize = self.frame.size;
int defaultHeight = self.frame.size.height + 5;
int contentHeight = self.webView.frame.origin.y + self.webView.frame.size.height;
scrollSize.height = MAX(defaultHeight, contentHeight);
[self.scrollView setContentSize:scrollSize];

Есть ли менее хакерский способ сделать это?

28
задан NSGod 25 February 2012 в 20:49
поделиться

1 ответ

В быстром:

scrollView.alwaysBounceVertical = true
scrollView.alwaysBounceHorizontal = true
2
ответ дан 28 November 2019 в 02:37
поделиться