2013-04-21 50 views
0

我使用适用于iPhone的TableView构建Viewcontroller。现在我尝试生成相同的内容,但排序在一种网格。它应该是3 x 3.我用220px x 220px的尺寸生成了四边形,并将我的TableView的宽度设置为220.在一个ViewController中将UITableViewCells设置为不同的UITableViews

要生成网格,我想插入两个更多的Tableviews,它们将获得3个指定的单元格。问题在于,我的ViewController中有方法“cellForRowAtIndex”,我无法将单元格插入到我想要的tableview中。 我发现了一个被称为

​​

方法但这似乎是,当你在编辑模式下是增加了一个新的行插入的tableview的方法。

我也想过创建一个条件,将设置3个特定的列到每个tableview中,但对于我来说,它似乎是cellForRowAtIndexPath只是一个TableView的方法,你不能指定它里面的任何东西。

有没有人知道如何解决这个问题?我还看到了其他网格已创建网格的地方,但如果我创建新的View而不是新的UITableViewCell,则无法使用旧的代码。我听说过Collection View,但它只支持iOS 6的设备。

回答

0

我解决了这个问题。我有3个桌面。他们的委托和数据源与我的ViewController连接。比我为这三个表创建了一个属性。里面我的cellForRowAtIndexPath方法我发现这tableviewcell将具体实现代码如下

- (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”内必须执行相同的检测,否则您只需选择对象数组内的前三个元素。 (在这种情况下是“initializedObjects”)。

相关问题