我是Xcode和Objective C的新手,但我似乎无法在我想创建的简单表上找到教程。我想要一个只有三行但两列的表(分组样式)。 A列有一个标签(如'Name:'),B列有实际数据(“Jason”)。
我似乎无法找到如何做到这一点。除非我只是完全查找错误的东西?希望有人可以帮助我如何做到这一点或指出我正确的方向。
谢谢!
答案 0 :(得分:7)
您不想使用包含2列的表。它们不在iOS中使用
您应该使用UITableViewCell
样式UITableViewCellStyleValue2
。并且您希望将@"Name"
设置为textLabel.text
,将@"Jason"
设置为detailTextLabel.text
。
您必须稍微更改tableView:cellForRowAtIndexPath:
。
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:CellIdentifier] autorelease];
}
cell.textLabel.text = @"Name";
cell.detailTextLabel.text = @"Jason";
return cell;
}
答案 1 :(得分:1)
您无法“真正”在UITableView中创建列,但您可以使用“单元格样式”来实现类似的效果。
您可以使用UITableViewCellStyleValue1样式来实现您所说的内容 这是一个例子:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier] autorelease];
cell.textLabel.text = @"Name";
cell.detailTextLabel.text = @"Jason";
return cell;
}
以下是它的样子: http://blog.blackwhale.at/wp-content/uploads/2009/06/Bild-3.png
或者,如果您是ObjectiveC的新手,则更复杂,您可以在XIB中创建自己的CellView并在代码中使用它: http://www.bdunagan.com/2009/06/28/custom-uitableviewcell-from-a-xib-in-interface-builder/
编辑:对不起,fluchtpunkt比我快;)
答案 2 :(得分:1)
也许您应该在表格单元格上添加标签,并给出边框
像这样:// -------------------第一栏------------------------ -------------------------------------------
UILabel * label1 = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 312, 43)];
[label1 setFont:[UIFont fontWithName:@"arial" size:18]];
[label1 setTextColor:[UIColor blackColor]];
label1.backgroundColor = [UIColor clearColor];
label1.layer.borderColor=[[UIColor lightGrayColor]CGColor];
label1.layer.borderWidth= 1.0f;
label1.numberOfLines = 0;
label1.text = [NSString stringWithFormat:@" %@",[[yourArray objectAtIndex:indexPath.row]objectForKey:@"xxxxx"]];
[cell.contentView addSubview:label1];
// -------------------第二栏------------------------ -------------------------------------------
UILabel * label2 = [[UILabel alloc]initWithFrame:CGRectMake(314, 0, 125, 43)];
[label2 setFont:[UIFont fontWithName:@"arial" size:18]];
[label2 setTextColor:[UIColor blackColor]];
label2.textAlignment = NSTextAlignmentCenter;
label2.backgroundColor = [UIColor clearColor];
label2.layer.borderColor=[[UIColor lightGrayColor]CGColor];
label2.layer.borderWidth= 1.0f;
label2.text = [NSString stringWithFormat:@"%@",[[yourArray objectAtIndex:indexPath.row]objectForKey:@"xxxxxx"]];
[cell.contentView addSubview:label2];