プログラムで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
誰かが私を正しい方向に向けてくれませんか?
TextLabelにmaskToBoundsを設定する必要があると思います。これを試して:
textLabel?.layer.masksToBounds = true
これを試して :-
textLabel?.layer.cornerRadius = textLabel?.frame.size.height/2.0
textLabel?.layer.masksToBounds = true
境界線の色を設定したい場合:-
textLabel?.layer.borderColor = .red.cgColor
textLabel?.layer.borderWidth = 1.0
ラベルにmasksToBounds
を設定します
masksToBoundsは、サブレイヤーがレイヤーの境界にクリップされているかどうかを示すブール値として機能します。
textLabel?.layer.cornerRadius = 20.0
textLabel?.layer.masksToBounds = true
参照Apple ドキュメント 。
Swift 4.2
ラベルの角の半径を設定し、正常に機能する
labelVerified.layer.cornerRadius = 6
labelVerified.layer.masksToBounds = true
これを試して :
yourLabel.layer.cornerRadius = 8.0
yourLabel.layer.masksToBounds = true
yourLabel.layer.borderColor = UIColor.white.cgColor
yourLabel.layer.borderWidth = 1.0
これにより、境界が丸くなります
キーは、サブレイヤーがレイヤーの境界にクリップされているかどうかを示すブール値であるプロパティ「maskToBounds」です。