web-dev-qa-db-ja.com

UILabelの丸みを帯びた角swift

プログラムで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

誰かが私を正しい方向に向けてくれませんか?

6
Astha Gupta

TextLabelにmaskToBoundsを設定する必要があると思います。これを試して:

textLabel?.layer.masksToBounds = true
28
Son Pham

これを試して :-

textLabel?.layer.cornerRadius = textLabel?.frame.size.height/2.0

textLabel?.layer.masksToBounds = true

境界線の色を設定したい場合:-

  textLabel?.layer.borderColor = .red.cgColor
  textLabel?.layer.borderWidth = 1.0
6
Pushpendra

ラベルにmasksToBoundsを設定します

masksToBoundsは、サブレイヤーがレイヤーの境界にクリップされているかどうかを示すブール値として機能します。

textLabel?.layer.cornerRadius = 20.0
textLabel?.layer.masksToBounds = true

参照Apple ドキュメント

3
Anbu.Karthik

Swift 4.2

ラベルの角の半径を設定し、正常に機能する

labelVerified.layer.cornerRadius = 6
labelVerified.layer.masksToBounds = true
2
CSE 1994

これを試して :

yourLabel.layer.cornerRadius = 8.0
yourLabel.layer.masksToBounds = true
yourLabel.layer.borderColor = UIColor.white.cgColor
yourLabel.layer.borderWidth = 1.0

これにより、境界が丸くなります

キーは、サブレイヤーがレイヤーの境界にクリップされているかどうかを示すブール値であるプロパティ「maskToBounds」です。

0
Leonardo