Как делают меня автоматический размер UIScrollView для установки его содержанию

Есть ли способ сделать a UIScrollView автокорректируйтесь к высоте (или ширина) содержания, которое она прокручивает?

Что-то как:

[scrollView setContentSize:(CGSizeMake(320, content.height))];
126
задан Forge 30 December 2018 в 22:26
поделиться

2 ответа

UIScrollView не знает высоту своего содержимого автоматически. Вы должны сами вычислить высоту и ширину

Сделайте это с помощью чего-то вроде

CGFloat scrollViewHeight = 0.0f;
for (UIView* view in scrollView.subviews)
{
   scrollViewHeight += view.frame.size.height;
}

[scrollView setContentSize:(CGSizeMake(320, scrollViewHeight))];

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

75
ответ дан 24 November 2019 в 00:48
поделиться

это действительно зависит от содержимого: content.frame.height может дать вам то, что вы хотите? Зависит от того, является ли контент одной вещью или коллекцией вещей.

0
ответ дан 24 November 2019 в 00:48
поделиться