1

ストーリーボード テーブルの静的セルを draw-rect で描画してコスチューム化したいのですが、すべてのセルをループして 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;
}

これをTable View Controllerで使用する場合、これはチュートリアルからのものです。セルに値を割り当てた部分は静的であるため、削除しました。

UITableViewCell は値を返す必要があるため、これは機能しませんが、何らかの理由で機能しません。

チュートリアルで彼が行っているように、行に ID "Cell" を割り当てました。

4

1 に答える 1

1

カスタム テーブル セルを作成して、これを実行してみてください。

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

次に、テーブルビューコントローラーで、セルが静的であるため、それらを 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 に答える