У меня есть scrollview как detailedview tableview ячейки. Существует несколько представлений о detailedview как маркировки, кнопки и т.д., которые я создаю через интерфейсного разработчика. То, что я создаю через интерфейсного разработчика, статично. Я помещаю все на представление высоты 480.
Маркировка на моем detailedview имеет динамический текст, который может расшириться на любую длину. Проблема состоит в том, что я должен установить размер содержания scrollview, для которого мне нужна его высота.
Как я установлю высоту scrollview, если контент является динамическим?
Вы можете попробовать использовать ContentSize для scrollview'ers. У меня это сработало, и у меня была такая же проблема с элементом управления, использующим динамический контент.
// Calculate scroll view size
float sizeOfContent = 0;
int i;
for (i = 0; i < [myScrollView.subviews count]; i++) {
UIView *view =[myScrollView.subviews objectAtIndex:i];
sizeOfContent += view.frame.size.height;
}
// Set content size for scroll view
myScrollView.contentSize = CGSizeMake(myScrollView.frame.size.width, sizeOfContent);
Я делаю это в методе viewWillAppear в контроллере представления, которое содержит scrollview. Это последнее, что я делаю перед вызовом viewDidLoad на super.
Надеюсь, это решит вашу проблему.
// Ханнес
Я полагаю, что в случае прокрутки нет auto, и размер содержимого должен быть рассчитан как минимум для статических представлений на экране, а для динамических - как только он должен рассчитываться на ходу.