自定义Tableview单元格宽度问题

时间:2016-05-16 07:23:45

标签: ios swift

After changing the opacity IB Screen Shot我正在动态更改标签的背景颜色,单元格的宽度似乎是静态的,仅在6s的情况下正常工作,背景颜色会消失显示尺寸增加

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(indexPath.row).colorWithAlphaComponent(0.5)

enter image description here

3 个答案:

答案 0 :(得分:1)

Mohit Arya,

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

enter image description here

当您设置标签本身的颜色并希望它覆盖整个单元格设置时,所有四个约束都必须为0

修改

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

然后你所要做的就是

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

答案 1 :(得分:0)

检查单元格视图层次结构中所有视图的背景颜色(和背景颜色alpha值)。例如,如果您的单元格的contentView具有alpha<的背景颜色,则会出现这样的问题。 1,您的标签(尺寸不适合contentView)具有相同的背景颜色。这就是你提供的所有信息。

因此,使用不同的颜色,或使用alpha = 1,或在标签中使用清晰的颜色。

答案 2 :(得分:0)

我找到了解决方案..以下代码干扰了用户界面,我仍然不知道为什么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