Ios 自定义Tableview单元格宽度问题

Ios 自定义Tableview单元格宽度问题,ios,swift,Ios,Swift,我正在动态更改标签的背景色,单元格的宽度似乎是静态的,并且仅在6秒的情况下工作正常,如果显示器的大小增加,背景色会褪色 cell.container.layer.backgroundColor = GetColor().randomColor(indexPath.row).colorWithAlphaComponent(0.5).CGColor cell.title.layer.backgroundColor = GetColor().randomColor(indexPath.row).col

我正在动态更改标签的背景色,单元格的宽度似乎是静态的,并且仅在6秒的情况下工作正常,如果显示器的大小增加,背景色会褪色

cell.container.layer.backgroundColor = GetColor().randomColor(indexPath.row).colorWithAlphaComponent(0.5).CGColor
cell.title.layer.backgroundColor = GetColor().randomColor(indexPath.row).colorWithAlphaComponent(0.8).CGColor
新代码//更改不透明度后

//cell.container.layer.backgroundColor=UIColor.blackColor().colorWithAlphaComponent(0.85).CGColor cell.title.backgroundColor=GetColor().randomColor(indexath.row).colorWithAlphaComponent(0.5)

检查单元格视图层次结构中所有视图的背景色(和背景色alpha值)。例如,如果单元格的contentView具有alpha<1的背景色,并且标签(其大小不适合contentView)具有相同的背景色,则可能会出现类似的问题。根据你提供的信息,我们只能这么说

所以,使用不同的颜色,或者使用alpha=1,或者在标签中使用清晰的颜色。

Mohit Arya

我相信您已经在单元格内的标签上应用了自动布局约束:)如果是,请验证它是否与下面显示的相同如果不是,请正确添加自动布局约束

当您设置标签本身的颜色并希望其覆盖整个单元格时,需要将所有四个约束设置为0

编辑:

现在根据您的评论,如果约束条件与我在下面给出的相同,则您的标签必须覆盖整个单元格:)

那么你所要做的就是

[cell.label setBackgroundColor: GetColor().randomColor(indexPath.row).colorWithAlphaComponent(1.0)]
cell.label.opaque = YES;

我找到了解决方案。以下代码干扰了UI,我仍然不知道container.bounds为什么没有返回实际宽度

        container.layer.shadowColor = UIColor.lightGrayColor().CGColor
    container.layer.shadowOpacity = 1
    container.layer.shadowOffset = CGSizeMake(0, 1);
    container.layer.shadowRadius = 2
    container.layer.shadowPath = UIBezierPath(rect: container.bounds).CGPath

请详细解释您的问题…请参见屏幕快照a但右侧的背景颜色褪色有什么问题?您可以使用cell.contentView.layer.backgroundColor=GetColor().randomColor(indexPath.row).colorWithAlphaComponent(0.5).CGColor@mohit-雅莉亚:你为什么不按照我在编辑的答案中写的那样简单地设置标签的背景色呢??值得一试:)@mohit-arya:虽然不是一个好主意,但你能把label的不透明属性改为YES吗???