uitableviewcell自定义背景问题

时间:2013-03-05 06:14:39

标签: iphone ios objective-c cocoa-touch uitableview

我有一个分组的tableview,每个部分都有一行。我正在将单元格的backgroundview设置为我的自定义图像,我希望以这种方式呈现行:

enter image description here

但它会像这样呈现(注意没有阴影,它是平的):

enter image description here

这是cellforRowAtIndexPath中的代码:

((UIImageView *)cell.backgroundView).image = [UIImage imageNamed:@"BGImage"];

BGImage是这篇文章中第一个带阴影的图像。我在这里缺少什么?

2 个答案:

答案 0 :(得分:4)

您必须使用UITableView的下列代理方法设置您的单元格背景: -

- (void)tableView: (UITableView*)tableView
  willDisplayCell: (UITableViewCell*)cell
forRowAtIndexPath: (NSIndexPath*)indexPath
{
            UIImage *img = [UIImage imageNamed:@"yourImage.png"];  // get your background image
            UIColor *backgroundColor = [[UIColor alloc] initWithPatternImage: img];
            cell.backgroundColor = backgroundColor;
            cell.textLabel.backgroundColor = [UIColor clearColor];
            cell.detailTextLabel.backgroundColor = [UIColor clearColor]; 

}

您的问题可能是您的图片Height width和您的手机height width不一样

我在我的项目集中使用上面的方法,在Cell中设置了波纹管阴影图像: -

enter image description here

和它在项目中的外观: -

enter image description here

答案 1 :(得分:0)

  1. 你的影子必须是你形象的一部分。
  2. 您必须正确设置高度和宽度。
  3. 我建议您创建自定义UITableViewCell
  4. 将背景图片添加到您的手机中。它肯定会显示出阴影。