Я добавил различные табличные представления в прокрутку, которые контролируются элементом управления страницей. Я устанавливаю их так.
- (void)loadPage:(NSInteger)page {
if (page < 0 || page >= self.pageStages.count) {
// If it's outside the range of what we have to display, then do nothing
return;
}
// Load an individual page, first seeing if we've already loaded it
UIView *pageView = [self.pageViews objectAtIndex:page];
if ((NSNull*)pageView == [NSNull null]) {
CGRect frame = self.scrollView.bounds;
frame.size.width = 280.0f;
frame.size.height = self.scrollView.bounds.size.height;
frame.origin.x = (320 * page)+20;
NSLog(@"orgin x is %d",(320 * page)+20);
NSLog(@"orgin x is %f",frame.origin.x);
frame.origin.y = 0;
UITableView *table = [[UITableView alloc]initWithFrame:frame];
table.delegate = self;
table.dataSource = self;
table.contentMode = UIViewContentModeScaleAspectFit;
[self.scrollView addSubview:table];
[self.pageViews replaceObjectAtIndex:page withObject:table];
}
}
Все работает нормально. Добавлены представления таблиц и работает свайп. Единственная проблема в том, что координата x неверна. Каждое табличное представление должно иметь отступ в 20 пикселей с обеих сторон. Итак, чтобы получить X следующего табличного представления, я делаю это.
frame.origin.x = (320 * page)+20;
Для первого просмотра таблицы все в порядке, но когда я прокручиваю до следующего, он каждый раз идет немного левее.
Кто-нибудь может мне помочь?