1

我想通过使用 draw-rect 绘制故事板表中的静态单元格来装饰它们,但是我如何遍历所有单元格并绘制矩形?

我已阅读本教程,但它仅涵盖原型单元:

http://www.raywenderlich.com/32283/core-graphics-tutorial-lines-rectangles-and-gradients

假设我有一个 draw rect 方法,我如何循环静态单元格并应用它?

编辑1:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString * CellIdentifier = @"Cell";
    UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    // START NEW
    if (![cell.backgroundView isKindOfClass:[CostumCellBackground class]]) {
        cell.backgroundView = [[CostumCellBackground alloc] init];
    }

    if (![cell.selectedBackgroundView isKindOfClass:[CostumCellBackground class]]) {
        cell.selectedBackgroundView = [[CostumCellBackground alloc] init];
    }
    // END NEW

    cell.textLabel.backgroundColor = [UIColor clearColor]; // NEW

    return cell;
}

如果我在我的表视图控制器中使用它,这是来自教程,我删除了为单元格分配值的部分,因为它们是静态的。

这不起作用,因为 UITableViewCell 必须返回一个值,并且由于某种原因它没有。

正如他在教程中所做的那样,我确实为行分配了 ID“单元格”

4

1 回答 1

1

尝试创建一个自定义表格单元格并执行以下操作:

-(void)awakeFromNib
{
    self.backgroundView = [[CostumCellBackground alloc] init];
    self.selectedBackgroundView = [[CostumCellBackground alloc] init];
}

然后在您的 tableview 控制器中,由于您的单元格是静态的,您可以将它们分配为 IBOutlets 并执行以下操作:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *returnCell;
    switch(indexPath.row)
    {
        case 0: returnCell = self.staticCell0;
        break;
        case 1: returnCell = self.staticCell1;
        break;
        //etc
    } 
    return returnCell;
}
于 2013-07-22T18:04:55.740 回答