查看边框颜色不变

View border Color not changing

我有一个视图,我用这个 运行 时间属性设置边界:

问题是 layer.borderColor 当我设置 borderColor 时,我的边框消失了,但是当我不设置边框颜色时,我有一个我不想要的黑色边框 有什么想法吗?

您遇到这个问题是因为 layer.borderColor 想要 CGColor 而从 User defined runtime attributes 开始,您只能设置 UIColor 而不是 CGColor,如果您不想要设置默认颜色 borderColorblack 颜色。要设置 borderColor,您需要像这样以编程方式设置它。

Swift 3

yourView.layer.borderColor = UIColor.red.cgColor //set your color here

Swift 2.3 或更低

yourView.layer.borderColor = UIColor.redColor().CGColor //set your color here

除了@NiravD 建议的之外,您还需要在视图的 layer 上同时设置 borderColorborderWidth 才能看到边框。

Swift 3 & Swift 4:

circle.layer.cornerRadius = 5.0
circle.layer.borderColor = UIColor.red.cgColor
circle.layer.borderWidth = 2.0 

在 Swift 3.0

  @IBOutlet weak var viewMainCell: UIView!

  viewMainCell.layer.shadowOpacity = 0.5
  viewMainCell.layer.shadowRadius = 5
  viewMainCell.layer.shadowColor = UIColor.black.cgColor
  viewMainCell.layer.cornerRadius = 5
  viewMainCell.layer.masksToBounds = false