UIlabel 텍스트에 그리기
결론적으로 텍스트의 CGRect를 가져와 Text의 표시 영역을 그려야 합니다.
가져오기
textRect(forBounds:limitedToNumberOfLines:)
방법을 사용하여 텍스트의 CGRRect를 실행합니다.Text의 표시 영역
super.drawText(in:)
에 그립니다.포크 인쇄를 그리는 샘플 코드는 다음과 같습니다.
class PathLabel: UILabel {
override func draw(_ rect: CGRect) {
// textのRectを取得する
let textRect = self.textRect(forBounds: bounds, limitedToNumberOfLines: 1)
// UIBezierPath のインスタンス生成
let line = UIBezierPath()
// 起点
line.move(to: CGPoint(x: textRect.minX, y: textRect.minY))
// 帰着点
line.addLine(to: CGPoint(x: textRect.maxX, y: textRect.maxY))
line.move(to: CGPoint(x: textRect.maxX, y: textRect.minY))
line.addLine(to: CGPoint(x: textRect.minX, y: textRect.maxY))
// ラインを結ぶ
line.close()
// 色の設定
UIColor.red.setStroke()
// ライン幅
line.lineWidth = 4
// 描画
line.stroke()
// Textに書き込み
super.drawText(in: rect)
}
}
잡다
위의 코드를 실행할 때 이렇게 그립니다.
이해하기 쉽게 UIlabel의 배경을 옅은 남색으로 바꿨다.
1 문자열에만 빨간색 포크 기호를 그립니다.
Reference
이 문제에 관하여(UIlabel 텍스트에 그리기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/SatoTakeshiX/items/41255a49f0e9d938b02f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(UIlabel 텍스트에 그리기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/SatoTakeshiX/items/41255a49f0e9d938b02f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)