私は現在、SwiftのiOSアプリケーションで作業しています。添付の画像に示すテキスト効果を達成する必要があります。
私は、ユーザーが書いたテキストを表示するラベルを持っており、ラベルの背景ではなくテキストの背景コーナーを丸くする必要があります。
それを行う方法はありますか? 私はウェブとStackoverflowを検索しますが、運はありません。
ありがとうございました。
回答:
回答№1は1あなたに役立つコードがいくつかあります。私が得た結果は、あなたが望むものと非常に似ています。
class MyTextView: UITextView {
let textViewPadding: CGFloat = 7.0
override func draw(_ rect: CGRect) {
self.layoutManager.enumerateLineFragments(forGlyphRange: NSMakeRange(0, self.text.count)) { (rect, usedRect, textContainer, glyphRange, Bool) in
let rect = CGRect(x: usedRect.origin.x, y: usedRect.origin.y + self.textViewPadding, width: usedRect.size.width, height: usedRect.size.height*1.2)
let rectanglePath = UIBezierPath(roundedRect: rect, cornerRadius: 3)
UIColor.red.setFill()
rectanglePath.fill()
}
}
}