我想在UITableView中显示多个列。
例如:
TableView
FName LName Age
----- ----- ---
Abby Michale 34
答案 0 :(得分:19)
我认为这样做的正确方法是UICollectionView。从UITableView开始,最后由于在尝试实现左右和上下滚动时的意外行为而失败。
请查看这篇精彩帖子,了解完整的最新解决方案: http://www.brightec.co.uk/blog/uicollectionview-using-horizontal-and-vertical-scrolling-sticky-rows-and-columns
结果将如下:
答案 1 :(得分:12)
您可以在IB中定义一个自定义单元格,该单元格将包含3个标签并且在函数中:
- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *DetailCellIdentifier = @"DetailCell";
UITableViewCell *cell = [aTableView dequeueReusableCellWithIdentifier:DetailCellIdentifier];
if (cell == nil) {
NSArray *cellObjects = [[NSBundle mainBundle] loadNibNamed:@"DetailCell" owner:self options:nil];
cell = (UITableViewCell*) [cellObjects objectAtIndex:0];
}
// setup your cell
}
当您在IB中定义单元格时,为每个标签添加一个标签,因此当您需要在其中放置文本时,您可以通过以下标记检索它:
label = (UILabel *)[cell viewWithTag:NAME_TAG];
label.text = myObject.name;
并用其他2个标签重复此操作。标签是唯一的编号。
改为使用此代码//设置您的单元格注释
答案 2 :(得分:3)
我创建了UIGridView。我相信你的问题可以用同样的技术解决。
您可以了解UIGridView的源代码。代码非常简短。
答案 3 :(得分:0)
创建一个自定义UIView
子类,其中包含三个UILabel
元素作为子视图。然后将单元格的contentView
属性设置为此自定义视图。
答案 4 :(得分:0)
将三个标签作为子视图添加到uitableview单元格的内容中。然后为其分配apprrpriate值 例如:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
//frame should be set accordingly(means should be framed accordingly).
UILabel *l1=[[UIImageView alloc]initWithFrame:CGRectMake(5, 5, 100,100)];
UILabel *l2=[[UILabel alloc]initWithFrame:CGRectMake(110,10,100,80)];
UILabel *l3=[[UILabel alloc]initWithFrame:CGRectMake(115,60,100,50)];
[cell.contentView addSubview:l1];
[cell.contentView addSubview:l2];
[cell.contentView addSubview:l3];
return cell;
}
答案 5 :(得分:0)
参加聚会的时间已晚,但我们已经开放了我们的全功能桌面组件:
https://github.com/flexicious/iOSDataGrid
一些截图:
http://www.ioscomponents.com/Home/IOSDataGrid
随意使用!