选择时更改 UITableViewCell 的 alpha 啥都不做

Posted

技术标签:

【中文标题】选择时更改 UITableViewCell 的 alpha 啥都不做【英文标题】:Changing alpha of UITableViewCell when selected does nothing选择时更改 UITableViewCell 的 alpha 什么都不做 【发布时间】:2015-10-01 15:28:37 【问题描述】:

按照这个答案Custom UITableViewCell selection style? 中关于如何为UITableViewCell 制作自定义选择样式的建议,我执行了以下操作。

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

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

    //UITableViewCell *cell;
    NavTableViewCell *cell;
    cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;

那么这就是我的整个自定义 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

我也尝试将代码放入setSelected。在这两种情况下,我都没有看到我选择/突出显示的表格视图单元格有任何变化。我试过改变它的颜色和改变它里面标签的颜色,但根本没有改变。我还尝试过查看单元格的各种选择样式,但就看到我的自定义而言,一切都无济于事。

我做错了什么?

【问题讨论】:

【参考方案1】:

来自文档:

您可以使用 selectedBackgroundView 为单元格提供自定义外观 选择。当单元格被选中时,这个视图在 backgroundView 和 contentView 后面。

因此,无论您在选择单元格时要对单元格做什么,都必须为selectedBackgroundView 执行此操作。

【讨论】:

【参考方案2】:

试试这个:

UIView *highlightView = [[UIView alloc] init];
highlightView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:1.0 alpha:.5];
cell.selectedBackgroundView = highlightView;

【讨论】:

感谢您的建议。这做了一些事情,但没有达到我想要的效果,即整个 contentView 和封闭的子视图改变它们的 alpha 值。

以上是关于选择时更改 UITableViewCell 的 alpha 啥都不做的主要内容,如果未能解决你的问题,请参考以下文章

在选择时更改 UITableViewCell 的边框颜色

如何为选择多行时使用的 UITableViewCell 图像蒙皮?

UITableViewCell 的选择颜色

使用 UIButton 自定义 UITableViewCell:无法更改 UIImage

在uitableviewcell背景颜色上快速更改标签

根据选择更改 UITableViewCell 中按钮的背景颜色