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的圆角的主要内容,如果未能解决你的问题,请参考以下文章

角落不是UILabel和UIbutton ios swift的圆形

UILabel 圆角在 iOS 7.1 中变得清晰

如何在 iPhone 上创建圆角 UILabel?

UILabel,带有圆角半径和阴影

UILabel设置圆角无效

带有 UILabel 的 UIView transitionWithView 在过渡期间会丢失圆角