Я пытаюсь внедрить UITableViews в UIScrollView с iOS6 и автозагрузкой.UITableViews в UIScrollView с Autolayout
Я сделал это несколько раз до iOS 6 со стойками и пружинами. Я добавил tableviews как subviews моего scrollview, установив соответствующие кадры и размеры контента. Он работал очень хорошо, позволяя пользователю прокручивать таблицы, но он больше не работает для экрана 3,5 дюйма и 4 дюйма на iPhone 5.
Высота прокрутки правильно изменяется, но высота подвидов нет, и есть пустое пространство под ними на 4" экранами.
Я сделал свой ViewController в IB, добавил UIScrollView, то я добавляю представления таблиц программным способом.
Я ve нашел обходное решение, которое устанавливает размер кадра и размер в методе -viewDidAppear
, но вызывает прокрутку scrollview, поскольку он изменяется после представления пользователю viewcontroller.
В настоящее время я смотрю NSLayoutConstraint, без большого успеха.
Неужели кто-то уже сталкивался с той же проблемой?
Вот мой текущий код:
- (void)viewDidLoad
{
[super viewDidLoad];
[self composeScrollView];
}
- (void)composeScrollView {
// set up scrollview
CGSize scrollViewContentSize = _scrollView.bounds.size;
scrollViewContentSize.width *= self.tableViewsList.count;
_scrollView.contentSize = scrollViewContentSize;
CGPoint contentOffset = _scrollView.bounds.origin;
contentOffset.x = _scrollView.bounds.size.width * self.tableIndex;
_scrollView.contentOffset = contentOffset;
_scrollView.directionalLockEnabled = YES;
for (int i = 0; i < self.tableViewsList.count; i++) {
CGRect tableViewRect = _scrollView.bounds;
tableViewRect.origin.x = tableViewRect.size.width *i;
UITableView *tableView = [[UITableView alloc] initWithFrame:tableViewRect style:UITableViewStylePlain];
tableView.delegate = self;
tableView.dataSource = self;
tableView.directionalLockEnabled = YES;
[_scrollView addSubview:tableView];
}
}
Я видел этот вид макета во многих IOS приложения, так что я полагаю, что решение может быть полезным для многих из нас.
Я хотел бы добавить картинки, чтобы быть более ясными, но у меня недостаточно репутации.
Взгляните на http://stackoverflow.com/questions/16096021/autolayout-a-uiscrollview-to-fit-content-including-subviews-and-grouped-tables или http://stackoverflow.com/questions/16699920/ios-6-autolayout-with-multiple-tableviews-all-dynamic-height/16701733 # 16701733 тоже. – James