选择时更改UITableViewCell的alpha不会做任何事情

hel*_*loB 3 objective-c uitableview ios

根据这个答案的建议定制UITableViewCell选择风格?关于如何为我做一个自定义选择样式UITableViewCell我做了以下.

首先,在我的自定义视图控制器中,它有一个UITableView属性作为其数据源和委托,我有以下内容:

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

    //UITableViewCell *cell;
    NavTableViewCell *cell;
    cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
Run Code Online (Sandbox Code Playgroud)

那么这是我的整个自定义UITableViewCell:

#import "NavTableViewCell.h"

@implementation NavTableViewCell

- (void)awakeFromNib {
    // Initialization code
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
    [super setHighlighted:highlighted animated:animated];
    if(highlighted){
        self.contentView.alpha = .5;
    }else{
        self.contentView.alpha = 1;

    }
}

@end
Run Code Online (Sandbox Code Playgroud)

我也试过把代码放进去setSelected.在这两种情况下,我都没有看到所选/突出显示的表格视图单元格中的任何更改.我尝试过更改颜色并更改其中标签的颜色,但根本没有变化.我也尝试过为单元格选择所有类型的选择样式,只要看到我的自定义就无济于事.

我究竟做错了什么?

Tej*_*uri 7

从文档:

选择时,可以使用 selectedBackgroundView为单元格提供自定义外观.选择单元格后,此视图位于backgroundView上方和contentView后面.

所以无论你在选择它时想要对你的细胞做什么,你都必须为它做selectedBackgroundView.