iOS – 具有多个UITableViews的水平UIScrollView

UIScrollView水平滚动, UITableView在其中垂直滚动,但水平滚动时无法加载不同的数据。

有一个滚动视图在屏幕上水平滚动,在其中我添加了多个tableview,并希望在滑动时在tableview上显示不同的不同数据。 我试过这个,但没有运气:(

 NSArray *arr1 = [[NSArray alloc] initWithObjects:@"1",@"2",@"3", nil]; NSArray *arr2 = [[NSArray alloc] initWithObjects:@"4",@"5",@"6", nil]; NSArray *arr3 = [[NSArray alloc] initWithObjects:@"7",@"8",@"9", nil]; NSArray *arr4 = [[NSArray alloc] initWithObjects:@"10",@"11",@"12", nil]; arrData = [[NSMutableArray alloc] initWithObjects:arr1,arr2,arr3,arr4, nil]; int width=0; for (int i = 0; i<[arrData count]; i++) { tblData = [[UITableView alloc] initWithFrame:CGRectMake(width, 20, 300, 245) style:UITableViewStylePlain]; tblData.dataSource = self; tblData.delegate = self; [tblData setBackgroundColor:[UIColor clearColor]]; tblData.separatorColor = [UIColor blackColor]; [scrHorizontal addSubview:tblData]; width+=300; } [self.scrHorizontal setContentSize:CGSizeMake(([arrData count])*300, self.scrHorizontal.frame.size.height)]; 

这里有4页在scrollview里面,其中包括4个tableviews,我想在第一张桌子上显示1,2,3,在第二张桌子上显示4,5,6,当滑动滚动视图等等…

请提前帮助我。

我见过你的代码,你可以用tag

  1. 在循环中将标记设置为tableview

     for (int i = 0; i<[arrData count]; i++) { tblData = [[UITableView alloc] initWithFrame:CGRectMake(width, 20, 300, 245) style:UITableViewStylePlain]; tblData.tag=i; tblData.dataSource = self; tblData.delegate = self; [tblData setBackgroundColor:[UIColor clearColor]]; tblData.separatorColor = [UIColor blackColor]; [scrHorizontal addSubview:tblData]; width+=300; } 

现在在cellForRowAtIndexPath方法中就像使用它一样

 NSArray *arr = [arrData objectAtIndex:tableView.tag]; cell.textLabel.text = [arr objectAtIndex:indexPath.row]; 

检查它ScrollViewDemo

希望能帮助到你。