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
,
-
在循环中将标记设置为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
希望能帮助到你。