iOS:无法在分页UIScrollView中的UITableViews之间滚动

时间:2014-03-20 20:14:40

标签: ios objective-c cocoa-touch uitableview uiscrollview

我有一个UIScrollView,我想在其中包含许多UITableViews,每个都是一个页面。我已将它们添加到滚动视图中,并验证UITableViews的帧是否已正确设置。第一个UITableView正确显示,但它不会让我水平滚动以查看其他UITableView。这是我在表格视图中使用的代码:

scrollView.delegate=self;
scrollView.scrollEnabled=YES;
tableViews = [[NSMutableArray alloc] initWithCapacity:recipOrgs.count];
for (NSDictionary *orgDict in recipOrgs) {

    int index = [recipOrgs indexOfObject:orgDict];


    NSLog(@"Creating table view for index: %d",index);
    CGRect frame;
    frame.origin.x = self.scrollView.frame.size.width * index;
    frame.origin.y = 0;
    frame.size = self.scrollView.frame.size;

    OrganizationTableView *tableView = [[OrganizationTableView alloc] init];

    tableView.index=index;
    tableView.parentCon=self;
    tableView.dataSource=tableView;
    tableView.delegate=tableView;

    [tableViews addObject:tableView];
    [scrollView addSubview:tableView];
    [tableView setFrame:frame];

}

为什么这不起作用的任何想法?正如我所提到的,我检查了UITableView起源的x值,我得到0,320,640等,就像我期望的那样。

1 个答案:

答案 0 :(得分:1)

您可能忘记为contentSize设置scrollView

scollView.contentSize = CGSizeMake(recipOrgs * CGRectGetWidth(scrollView.frame), CGRectGetHeight(scrollView.frame));

但您应该考虑使用UICollectionView代替UIScrollView,然后免费获得重用逻辑,您不必担心contentSize