UILabel图层背景颜色部分填充意外

时间:2017-01-19 04:31:20

标签: ios swift xcode uilabel fill

目前显示的标签具有为右上角和右下角设置的自定义半径。但是标签的背景颜色并未完全填充。

尝试将图层maskToBounds属性设置为true和false。 试图以编程方式将dateLabel.backgroundColordateLabel.layer.backgroundColor更改为所需的深蓝色,并在故事板中默认为尝试重新填充标签而未成功。

@IBOutlet weak var dateLabel: UILabel! { didSet { 
    dateLabel.round(corners: [.topRight, .bottomRight], radius: 15, borderColor: UIColor.cyan, borderWidth: 3.0)
    dateLabel.setNeedsLayout()
}}

override func viewDidLayoutSubviews() {
    dateLabel.layoutIfNeeded()
}

override func viewDidLoad() {
    super.viewDidLoad()
    dateLabel.layer.backgroundColor = UIColor.blue
}

enter image description here

标签没有完全填满其视图以及可用的解决方案的原因是什么?

1 个答案:

答案 0 :(得分:0)

问题肯定是角落功能的使用,它为你的UIable添加了子图层,每个子图层都有自己的背景颜色,所以你可以找到另一种圆角的方法,而不使用添加子图层的功能或在你的viewDidLoad中迭代层layer.sublayers的子图层属性,它是一个子图层数组,并将背景颜色应用于每个子图层,或者向该UIView扩展(角落函数)添加一个函数,然后执行此颜色分配之王叫那个功能。