添加表视图单元格遵循1自定义样式?

时间:2011-09-13 04:27:14

标签: ios xcode uitableview

我想创建一个自定义的UITableView单元格。我想知道怎么做。我理解如何实际创建它并为其编写代码,但是如何创建1样式然后当我添加更多单元格时,我想要相同的样式。我怎样才能做到这一点?有没有办法创建1个自定义单元格,并让我想要添加的所有其他单元格遵循此单元格样式?感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

在我的项目中,我正在实现以编程方式创建自定义样式的方法。此外,它可以通过IB制作自定义单元格,当您需要从中获取自定义单元格时。

不要忘记,如果您正确编写代码,那么您的单元格将被重用,并且该方法仅针对表格视图中可见的单元格数量进行调用。

答案 1 :(得分:1)

答案 2 :(得分:0)

为单元格单独.h / .m / .xib,并在.xib集合File's Owner中为您想要多个副本in(您的表视图控制器类,最有可能)。将其附加到您在表视图控制器中为新单元创建的IBOutlet

然后,每次想要一个单元格时,请尝试在dequeueReusableCellWithIdentifier:tableView,如果这不起作用(您没有可重用的单元格),请使用自定义类创建一个新单元格只需加载nib文件即可。它将自动创建单元格的实例并将其附加到IBOutlet,然后只需保留单元格并将出口设置为nil,以便下次需要创建单元格时。从本质上讲,我的意思是(我有一个IBOutlet UITableViewCell *cellOutlet):

- (UITableViewCell *)tableView:(UITableView *)tableView
         cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *reuseIdentifier = @"CustomCell";
    UITableView *cell = [self.tableView
                         dequeueReusableCellWithIdentifier:reuseIdentifier];
    if (cell == nil) {
        [[NSBundle mainBundle] loadNibNamed:@"MyCustomTableViewCell"
                                      owner:self options:nil];
        cell = cellOutlet;
        self.cellOutlet = nil; // autoreleases
        cell.reuseIdentifier = reuseIdentifier;
    }

    // configure the cell here
    return cell;
}