是否可以在UITableView中创建多个列?

时间:2011-12-14 13:21:01

标签: iphone ipad uitableview multiple-columns

我想在iPhone / iPad应用程序中添加更多列。是否可以在一个UITableView中添加更多列?你能否在一个UITableView中建议使用多个列的示例代码/块/项目?请帮我。提前谢谢。

5 个答案:

答案 0 :(得分:3)

简短回答是否定的,但您始终可以创建自定义单元格,看起来像多列

答案 1 :(得分:3)

不可能,实际上UITableView被命名为a表示List而不是表。

如果您想拥有多个列,一种方法是创建具有多个标签的特定单元格,然后按行然后按列打包数据。

答案 2 :(得分:1)

您可以使用我的库UIGridView

它是使用UITableView创建的,其中UITableViewCell包含许多单元格。

以下是它的样子:

UIGridView Example

答案 3 :(得分:0)

没有Yuvaraj.M我们无法创造。但你可以通过添加标签,图像或按钮等组件来实现多列,或者使用自定义单元格。

答案 4 :(得分:0)

我通过使用表视图完成了一个网格,我基本上通过将子视图添加到单元格来伪造它。因此,如果您创建一个单元格,向其中添加三个子视图,则可以在询问特定行的单元格时通过执行此类操作来获取所需的项目:

// get the items for the row (a row is one cell)
NSArray *rowItems = nil;
int startIndex = indexPath.row * NumOfItemViewsPerRow;
if (startIndex + NumOfItemViewsPerRow < [items count]) {
    rowItems = [items subarrayWithRange:NSMakeRange(startIndex, NumOfItemViewsPerRow)];
} else {
    rowItems = [items subarrayWithRange:NSMakeRange(startIndex, [items count] - startIndex)];
}

然后就在那之后你可以循环你的行的子视图:

[cell.itemViews enumerateObjectsUsingBlock:^(MyItemView *itemView, NSUInteger idx, BOOL *stop) {
    NSDictionary *item = [rowItems objectAtIndex:idx];
    itemView.titleLabel.text = [item valueForKey:@"title"];
};

它有点繁琐,但好处是你可以从表格视图中免费卸载行,所以你不必乱用你自己的自定义网格视图或类似的东西。

希望有所帮助。