1

The circle uiview is hidden when the cell is selected. How to fix it? bringSubviewToFront not helping.

screenshot

override func setSelected(selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)
    self.selectedBackgroundView?.bringSubviewToFront(statusView)
}

Please help!

2 Answers2

0

set your view's backgroundColor by override func setHighlighted(highlighted: Bool, animated: Bool)and func setSelected(selected: Bool, animated: Bool)like this:

class Cell: UITableViewCell {
var redView :UIView!
var yellowView :UIView!

override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
    super.init(style: style, reuseIdentifier: reuseIdentifier)

    redView = UIView()
    redView.frame = CGRect(x: 0, y: 10, width: 100, height: 20)
    self.contentView.addSubview(redView)

    yellowView = UIView()
    yellowView.frame = CGRect(x: 200, y: 10, width: 100, height: 20)
    self.contentView.addSubview(yellowView)

    redView.backgroundColor = UIColor.redColor()
    yellowView.backgroundColor = UIColor.yellowColor()
}

required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

override func setSelected(selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)
    redView.backgroundColor = UIColor.redColor()
    yellowView.backgroundColor = UIColor.yellowColor()
}
override func setHighlighted(highlighted: Bool, animated: Bool) {
    super.setHighlighted(highlighted, animated: animated)
    redView.backgroundColor = UIColor.redColor()
    yellowView.backgroundColor = UIColor.yellowColor()
}
}
Wilson XJ
  • 1,750
  • 13
  • 14
0

While selecting the cells UIView, all painted in the background of the cell, so the UIView is hidden. If repaint after selection, then everything will be.

override func setSelected(selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)

    if selected {
        switch status {
        case "8","9":
            // print("Cancel")
            statusView.backgroundColor = FlatUIColors.thunderBirdColor()
        case "10","11","12":
            // print("Success")
            statusView.backgroundColor = FlatUIColors.nephritisColor()
        case "20","21","22","23":
            // print("Wait")
            statusView.backgroundColor = FlatUIColors.wetAsphaltColor()
        case "30","31":
            // print("Processing")
            statusView.backgroundColor = FlatUIColors.peterRiverColor()
        default:
            break
        }
    }
}