在Custom UITableViewCell中添加视图的最佳方式

时间:2012-07-17 17:21:28

标签: iphone objective-c ios

我看过很多例子,我找不到最好的答案。

想象一下,我有一个120高度的自定义单元格,有3个UILabel和一个UIImageView。

我用

启动我的手机
-(id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier

在所有方法中,哪一种最为理想?

3 个答案:

答案 0 :(得分:1)

你所要做的就是这样:

- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Prototype Cell"];
    UILabel *label;
    if (!cell)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
                                      reuseIdentifier:@"Prototype Cell"];
        label = [[UILabel alloc] init];
        label.tag = LABEL_TAG;  //Suppose LABEL_TAG is defined someplace else
        [cell.contentView addSubview: label];
    }
    else 
    {
        label = [cell.contentView viewWithTag:LABEL_TAG];
    }


    label.text = @"Hello World";

    //Suppose you want the label at x coordinate 50
    label.frame = CGRectMake(0,0,50,120); 

    //Follow similar steps for all of your subviews

    return cell;
}

答案 1 :(得分:1)

创建自定义表格的最佳答案可能在下面的链接中,如果您对所看到的代码有特定问题,请随时提出更多问题。

http://cocoawithlove.com/2009/04/easy-custom-uitableview-drawing.html

答案 2 :(得分:1)

通过继承UITableViewCell&创建自定义UITableviewCell。覆盖方法initWithStyle。您可以在此init方法中分配标签&也可以在此方法的单元格中添加此标签。

您还可以使用nib文件创建UItableViewCell。

http://ijoshsmith.com/2011/07/16/creating-a-custom-uitableviewcell-in-ios-4/