UILabel swift的圆角
Posted
技术标签:
【中文标题】UILabel swift的圆角【英文标题】:Rounded corners of UILabel swift 【发布时间】:2017-09-07 07:29:40 【问题描述】:我正在以编程方式创建UILabel
。但是下面的代码并没有给我圆角。我想我错过了一些非常基本的东西。
var textLabel:UILabel? = UILabel()
textLabel?.text = text
textLabel?.frame = CGRect(x:point.x, y:point.y, width:(textLabel?.intrinsicContentSize.width)!, height:15)
textLabel?.backgroundColor = UIColor.white
textLabel?.font = UIFont(name:"OpenSans", size:8)
textLabel?.sizeToFit()
textLabel?.layer.cornerRadius = 20.0
谁能指点我正确的方向?
【问题讨论】:
How do I make an UIImage/-View with rounded corners CGRect (Swift)的可能重复 【参考方案1】:我认为你应该为 textLabel 设置 maskToBounds。试试这个:
textLabel?.layer.masksToBounds = true
【讨论】:
【参考方案2】:试试这个:-
textLabel?.layer.cornerRadius = textLabel?.frame.size.height/2.0
textLabel?.layer.masksToBounds = true
如果你想设置边框颜色,那么:-
textLabel?.layer.borderColor = .red.cgColor
textLabel?.layer.borderWidth = 1.0
【讨论】:
提问者已经提到了尺寸layer.cornerRadius = 20.0
当你想要精确的角落时使用它。如果大小大于高度,则它不会以完美的形状调整大小。或者您可以根据需要使用常量值。【参考方案3】:
斯威夫特 4.2
设置标签角半径并正常工作
labelVerified.layer.cornerRadius = 6
labelVerified.layer.masksToBounds = true
【讨论】:
【参考方案4】:为您的标签设置masksToBounds
masksToBounds 充当布尔值,指示子图层是否被裁剪到图层的边界。
textLabel?.layer.cornerRadius = 20.0
textLabel?.layer.masksToBounds = true
推荐苹果documents。
【讨论】:
【参考方案5】:试试这个:
yourLabel.layer.cornerRadius = 8.0
yourLabel.layer.masksToBounds = true
yourLabel.layer.borderColor = UIColor.white.cgColor
yourLabel.layer.borderWidth = 1.0
这应该给你圆形边框
关键是属性“maskToBounds”,它是一个布尔值,指示子图层是否被裁剪到图层的边界。
【讨论】:
以上是关于UILabel swift的圆角的主要内容,如果未能解决你的问题,请参考以下文章