按UITableViewCell时圆视图消失

时间:2015-07-23 01:53:44

标签: ios uitableview layer

在UITableViewCell的contentView中,我放置了一个UIView并将其图层cornerRadius设置为其高度的一半以使其成为圆形。并将其颜色设置为红色。 当我运行它并按下UITableViewCell时,红色圆圈变为透明。

按下牢房之前。

enter image description here

按下牢房后。

enter image description here

哪里出错,我认为这与cornerRadius有关。有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

我已回答here

  

UITableViewCell更改所有子视图的背景颜色   选择或突出显示单元格。

我已根据您的问题调整了我之前的答案

您有三种选择:

  1. 如果您不想要任何选择方式

    i
  2. 子类cell.selectionStyle = UITableViewCellSelectionStyleNone; 并覆盖Tableview单元格的UITableViewCell和/或setSelected:animated,如Leo已解答

  3. 将圆圈添加为图层

    setHighlighted:animated

答案 1 :(得分:0)

因为UITableviewCell在选择时会更改视图背景颜色。

您需要继承UITableviewCell,并更改背景颜色

截图

代码

class CustomCell:UITableViewCell{
override func setHighlighted(highlighted: Bool, animated: Bool) {
    super.setHighlighted(highlighted, animated: animated)
    let view = self.viewWithTag(10) //The tag of this view is 10
    view?.backgroundColor = UIColor.redColor()
}
override func setSelected(selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)
    let view = self.viewWithTag(10)
    view?.backgroundColor = UIColor.redColor()
}
}