如何设置不同高度的UITableViewCell背景图像?

时间:2010-07-20 01:23:16

标签: iphone objective-c cocoa-touch uitableview

我有一个UITableView,并希望将背景图像应用于所有单元格。我每个细胞的高度都是可变的。我该如何创建背景图片?

cell.contentView.backgroundColor = [UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"background.png"]];

2 个答案:

答案 0 :(得分:3)

一个想法是在其上放置一个带有可伸缩图像的UIImage。这样,行高是什么并不重要,图像可以伸展以匹配。

您也可以做类似于马特所做的事情here with a gradient layer

答案 1 :(得分:2)

在cellForRowAtIndexPath方法中,您可以提供单元格背景颜色

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


{
    static NSString *cellIdentifier = @"Cell";
    UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];

    if (cell == nil)
    {    
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
    }
// for cell background color
  cell.backgroundView =[[UIImageView alloc] initWithImage:[ [UIImage imageNamed:@"tab2.png"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:5.0] ];

// for selection color      
  cell.selectedBackgroundView =[[UIImageView alloc] initWithImage:[ [UIImage imageNamed:@"selected.png"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:5.0] ];
    return cell;
}