使用图像设置 backgroundView 时缺少分组的 UITableView 的单元格分隔符

Posted

技术标签:

【中文标题】使用图像设置 backgroundView 时缺少分组的 UITableView 的单元格分隔符【英文标题】:Grouped UITableView's cell separator missing when setting backgroundView with an image 【发布时间】:2012-09-06 15:36:19 【问题描述】:

我有一个带有自定义 UITableViewCell 类的分组 UITableView,并且我正在向每个单元格添加自定义背景图像。但是,当我这样做时,单元格的分隔符不可见。 如果只是将表格样式切换为普通而不是分组,则会显示分隔符。

我需要分组表 - 如何显示分隔符?

这是我的代码:

@interface MyCustomTableViewCell : UITableViewCell

@end

@implementation MyCustomTableViewCell

// because I'm loading the cell from a xib file
- (id)initWithCoder:(NSCoder *)coder

    self = [super initWithCoder:coder];
    if (self)
    
        // Create a background image view.  
        self.backgroundView = [[UIImageView alloc] init];
    
    return self;



// MyViewController

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

    //
    // standard cell dequeue + create cell code here
    //

    //
    // Configure the cell background now
    //
    UIImage *backgroundImage = [UIImage imageNamed:@"odd_row.png"];
    if (indexPath.row % 2 == 0)
    
        backgroundImage = [UIImage imageNamed:@"even_row.png"];    
    

    UIImageView *backgroundView = (UIImageView *)cell.backgroundView;
    backgroundView.image = backgroundImage; 

【问题讨论】:

【参考方案1】:

当您将 subView 赋予单元格时,它将自动隐藏分隔符。因此,尝试将分隔线添加到图像本身。所以它会给你分隔符的外观。

一切顺利。

【讨论】:

以上是关于使用图像设置 backgroundView 时缺少分组的 UITableView 的单元格分隔符的主要内容,如果未能解决你的问题,请参考以下文章

子类 UITableViewCell - backgroundView 涵盖了我在 drawRect 中所做的任何事情

UITableView backgroundview 在文本区域不起作用

UITableViewCells 出现在 backgroundView 后面

设置 UITableView 单元格的 backgroundView

使用图像作为 UITableView 背景;背景仍然显示黑色

iOS 7.0 UITableView backgroundView 中的控件禁用了用户交互