如何为UITableView创建自定义单元格

时间:2011-07-05 19:26:44

标签: ios4

我正在尝试创建一个包含多个标签的UITableViewCell。我一直在尝试做类似的事情(将“名称”和“电话号码”左对齐并在两行上,然后将“年龄”右对齐在单元格中并可能垂直居中。我尝试了不同的UITableViewCellStyle样式但是想要自定义它,以便单元格可以包含3个标签,而不只是两个。任何帮助将不胜感激。提前感谢!

3 个答案:

答案 0 :(得分:3)

您可以做的一件事是在界面构建器中创建自定义UITableViewCell并添加您想要的任何标签等,并在填充行时使用该单元格。

你的.h文件中的

你需要一个IBOutlet UITableViewCell yourCellName

你的.m文件中的

您可以使用以下方法配置自定义单元格:

-(void)setUpViewComponents{

        yourCellName.textLabel.text = @"some kind of text";

        yourCellName.textLabel2.text = @"some other text";


        //and so on

}

然后在此方法中,您可以使用自定义单元格填充表格

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



        static NSString *CellIdentifier = @"Cell";

        UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];

        if (cell == nil) {

                cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];

        }

        cell = yourCellName; //you can make additional 
                             //changes to the cell here if you want


    return cell;
    }

抱歉粗略的例子,希望它至少可以帮助你开始。

答案 1 :(得分:0)

如果您想在UITableView中拥有自己的单元格,则需要使用UITableViewCell的子类。有很多例子,例如this one from Cocoa With Love

答案 2 :(得分:0)

创建一个扩展UITableViewCell的新类。我举个例子:

@interface YourCustomCell : UITableViewCell {
    UILabel *lb1,*lb2,*lb3;
}


@implement YourCustomCell

-(id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier{
    if (self=[super initWithFrame:frame reuseIdentifier:reuseIdentifier]){
          lb1=[UILabel alloc] initWithFrame:...];
          [self.contentView addSubview:lb1];
          ...
    }
    return self;
}