在一个ViewController中将UITableViewCells设置为不同的UITableView

在一个ViewController中将UITableViewCells设置为不同的UITableView,uitableview,grid,cell,nsindexpath,Uitableview,Grid,Cell,Nsindexpath,我为iPhone构建了一个带有TableView的Viewcontroller。现在,我尝试生成相同的内容,但排序在一种网格中。它应该是3x3。我生成了测量值为220px 220px的四边形,并将TableView的宽度设置为220 为了生成网格,我考虑再插入两个TableView,这将得到3个指定的单元格。问题是,我的ViewController中有“CellForRowatinex”方法,无法将单元格插入到我想要的tableview中。 我找到了一个名为 [self.channelTable

我为iPhone构建了一个带有TableView的Viewcontroller。现在,我尝试生成相同的内容,但排序在一种网格中。它应该是3x3。我生成了测量值为220px 220px的四边形,并将TableView的宽度设置为220

为了生成网格,我考虑再插入两个TableView,这将得到3个指定的单元格。问题是,我的ViewController中有“CellForRowatinex”方法,无法将单元格插入到我想要的tableview中。 我找到了一个名为

[self.channelTableView2 insertRowsAtIndexPaths:0    
                              withRowAnimation:UITableViewRowAnimationAutomatic];
但这似乎是在编辑模式下向tableview添加新行的方法

我还考虑创建一个条件,在每个tableview中设置3个特定列,但对我来说,CellForRowatineXpath方法似乎只适用于一个tableview,不能在其中指定任何内容


有人知道如何解决这个问题吗?我还看到其他帖子,其中创建了一个网格,但是如果我创建了一个新视图而不是一个新的UITableViewCell,我就不能使用旧代码。我还听说了Collection视图,但它只受iOS 6设备的支持。

我解决了这个问题。我有3张桌子。他们的委托和数据源与我的ViewController连接。然后我为这三个表创建了一个属性。在我的cellForRowAtIndexPath方法中,我检测哪个tableview单元格将显示在特定的tableview中

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

MyObject *anObject;
if(tableView == tableview1){

    anObject = [initializedObjects objectAtIndex:indexPath.section * 3];

}else if(tableView == tableview2){

    anObject = [initializedObjects objectAtIndex:indexPath.section * 3 + 1];
}else if(tableView == tableview3){

    anObject = [initializedObjects objectAtIndex:indexPath.section * 3 + 2];
}
我还禁用了所有表的滚动,所以它看起来像一个网格。必须在“didSelectRowAtIndexPath”中执行相同的检测,否则您将只选择对象数组中的前三个元素。(在本例中为“初始化对象”)