与圆角落的色的文本背景

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了与圆角落的色的文本背景相关的知识,希望对你有一定的参考价值。

我目前正在使用Swift中的ios应用程序,我需要实现附图中显示的文本效果。

我有一个标签,显示用户写的一些文字,我需要使文字背景角(不是标签背景)四舍五入。

有没有办法做到这一点?我会搜索网络和Stackoverflow,但没有运气。

谢谢。

What I need to achieve

答案

以下是一些可以帮助您的代码。我得到的结果与你想要的非常相似。

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()
        }
    }
}

enter image description here

以上是关于与圆角落的色的文本背景的主要内容,如果未能解决你的问题,请参考以下文章

如何解决谷歌浏览器保存密码后文本框出现淡黄色背景色的显示问题

带有圆角而不是 100% 屏幕宽度的自定义片段对话框

html怎样做文本框圆角效果

如何通过点击 UITextView 中的特定字符来显示圆角灰色背景?

NSAttributedString 背景颜色和圆角

markdown编辑器语法——文字颜色大小字体与背景色的设置