2013-05-31 1 views
0

У меня есть scrollview с двумя табличными представлениями бок о бок и нижняя панель навигации.iOS 6 autolayout scrollview не прокрутка с двумя таблицами

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

view hierarchy

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

Я пытаюсь придерживаться автозапуска. Что я здесь делаю неправильно? Размеры таблицы имеют размер всего изображения, а панель навигации - в 0 от нижней части представления. Он правильно держится, но прокрутка не работает вообще.

Что я должен сделать, чтобы заставить прокрутку работать?

+0

Можете уточнить? Когда вы говорите, что нет прокрутки, вы имеете в виду, что Scroll View не прокручивается, а в представлениях таблицы ничего нет или что ничего не происходит? Прокрутка включена для просмотра таблицы? – James

+0

Я отключил прокрутку на столе. Они не должны прокручиваться; скорее, весь внешний scrollview должен прокручиваться до длины содержимого таблицы. –

ответ

2

UITableView сам является UIScrollView - это означает, что если его внутренний контент больше его размера, он будет прокручиваться. Мне приходилось иметь дело с представлениями таблиц внутри просмотров прокрутки раньше, и я думаю, что отключение прокрутки не приводит к тому, что представление таблицы является высотой его внутреннего содержимого, но вместо этого оно фиксирует его до видимой области. Чтобы получить представление таблицы в соответствии с внутренним содержимым, вам нужно добавить ограничение высоты в представление таблицы и перетащить его в контроллер, чтобы создать выход. Затем в контроллере добавить что-то вроде этого (обновляется в соответствии с вашими ограничениями имен на выходе)

-(void) viewWillLayoutSubviews{ 
    [self.tableViewOne layoutIfNeeded]; 
    self.tableViewOneHeightConstraint.constant = self.tableViewOne.contentSize.height; 

    [self.tableViewTwo layoutIfNeeded]; 
    self.tableViewTwoHeightConstraint.constant = self.tableViewTwo.contentSize.height; 
} 

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