UIScrollView中的2个UITableViews

时间:2012-05-06 14:43:08

标签: xcode uiscrollview

下午好。

我正在尝试创建一个包含2个表的滚动视图。代码发布在下面,表创建没有问题,我在构建时将数据加载到它们,但第二个表似乎工作,我不能滚动数据或选择一个单元格。有什么想法??

由于

- (void)setupPage
{
scrollView.delegate = self;    
[self.scrollView setBackgroundColor:[UIColor grayColor]];
[scrollView setCanCancelContentTouches:NO];

scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
scrollView.clipsToBounds = YES;
scrollView.scrollEnabled = YES;
scrollView.pagingEnabled = YES;

int initialXPos = 0;
int initialYPos = 10;

int arraycounter=0;
CGFloat cx = 0;
int aWidth = 0;

for (int j=0; j<3; j++) 
{
    if (j == 0)
    {
        UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(initialXPos, initialYPos, 320, 250)];
        myView.backgroundColor = [UIColor redColor]; 

        UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(initialXPos, 0, 320, 250) style:UITableViewStylePlain];
        self.tableView = tableView;

        tableView.dataSource = self;
        tableView.tag = 1;        
        [tableView reloadData];

        [myView addSubview:tableView];
        [scrollView addSubview:myView];
    }

    if (j == 1)
    {
        UIView *myView1 = [[UIView alloc] initWithFrame:CGRectMake(initialXPos, initialYPos, 320, 250)];
        myView1.backgroundColor = [UIColor redColor]; 

        UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(initialXPos, 0, 320, 600) style:UITableViewStylePlain];
        self.tableView = tableView;

        tableView.dataSource = self;
        tableView.tag = 2;        
        [tableView reloadData];

        [myView1 addSubview:tableView];
        [scrollView addSubview:myView1];
    }

    initialXPos = initialXPos + 320 ;
    arraycounter=arraycounter+1;
    aWidth = aWidth + 320;
    cx += scrollView.frame.size.width;
}
cx = aWidth;
self.pageControl.numberOfPages = arraycounter;
[scrollView setContentSize:CGSizeMake(cx, [scrollView bounds].size.height)];
}

1 个答案:

答案 0 :(得分:0)

你应该这样做,

[scrollView addSubview:tableView1];

[scrollView addSubview:tableView2];

[myView addSubview:scrollView];

表示在滚动视图中添加前两个表,然后将滚动视图添加到主视图中 我用这种方式解决了这个问题。