UITableViewCell子视图在选择时消失(但此子视图中的内容可见)

时间:2015-06-08 10:38:02

标签: ios objective-c iphone uitableview

这是我的UITableViewCell的.m文件。

#import "ContentCardTableViewCell.h"
#import <QuartzCore/QuartzCore.h>

@implementation ContentCardTableViewCell


- (void)awakeFromNib {
    // Initialization code
    [self setBackgroundColor:[UIColor clearColor]];

}

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
    [super setHighlighted:highlighted animated:animated];
    if (highlighted) {
        [self setBackgroundColor:[UIColor clearColor]];

        // Recover backgroundColor of subviews.
    }
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];
    if (selected) {
        [self setBackgroundColor:[UIColor clearColor]];

        // Recover backgroundColor of subviews.
    }
}


@end

但是这个UITableViewCell中的一个视图在选择时消失了。我尝试了thisthis以及更多但没有任何帮助。有什么我想念的吗?

2 个答案:

答案 0 :(得分:7)

我有类似的问题 如果我将selectionStyle设置为 UITableViewCellSelectionStyleNone 工作正常,问题就解决了。 即;

中的

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

添加
   [cell setSelectionStyle:UITableViewCellSelectionStyleNone];

返回单元格之前。希望它有效。

答案 1 :(得分:2)

取消选择单元格后忘记恢复状态

if (selected) {
    [self.contentView setBackgroundColor:[UIColor clearColor]];
// Recover backgroundColor of subviews.
}else{ 
    [self.contentView setBackgroundColor:[UIColor whiteColor]]
}

PS:首选设置cell.contentView的颜色