具有自定义单元格的表格视图

时间:2010-03-27 11:49:23

标签: uitableview row customization cell reusability

到目前为止,我曾经创建自定义笔尖来制作我想要的细胞,但这次,细胞的高度会从一个变为另一个,这样我就无法创建固定大小的细胞的笔尖。

所以我决定以编程方式创建它...是不是以下方式实现它?

// 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:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        UILabel *pseudoAndDate = [[UILabel alloc] initWithFrame:CGRectMake(0.0,0.0,320.0,20.0)];
        [pseudoAndDate setTag:1];
        [cell addSubview:pseudoAndDate];
        [pseudoAndDate release];
    }

    CommentRecord *thisRecord = [comments objectAtIndex:[indexPath row]];

    UILabel *label = (UILabel *)[cell viewWithTag:1];
    [label setText:[NSString stringWithFormat:@"%@ | %@",thisRecord.author,thisRecord.date]];

    return cell;
}

或..我在这里错过了什么?到目前为止它似乎不起作用;)

谢谢,

高堤耶。

3 个答案:

答案 0 :(得分:0)

为什么在不需要时创建标签?使用UITableViewCell的标签。

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

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }

    CommentRecord *thisRecord = [comments objectAtIndex:[indexPath row]];

    cell.textLabel.text = [NSString stringWithFormat:@"%@ | %@",thisRecord.author,thisRecord.date];

    return cell;
}

答案 1 :(得分:0)

答案 2 :(得分:0)

以编程方式Apple Documentation UITableViewCell

自定义UITableViewCell的新链接