带圆角的彩色文本背景

Posted

技术标签:

【中文标题】带圆角的彩色文本背景【英文标题】:Colored text background with rounded corners 【发布时间】:2018-03-02 14:16:26 【问题描述】:

我目前正在用Swift开发一个ios应用,我需要实现附图所示的文字效果。

我有一个标签显示用户写的一些文本,我需要使文本背景角(不是标签背景)圆角。

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

谢谢。

【问题讨论】:

【参考方案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()
        
    

【讨论】:

非常感谢!我会尽快尝试并告诉你:) 你可以试试,但我不确定 完美!我已经设法让它在用户按下每个键时工作!非常感谢!

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

定制 黑色描边白色背景带圆角 的背景

定制 黑色描边白色背景带圆角 的背景

Android 带圆角和背景的BottomSheet

Android 带圆角和背景的BottomSheet

CSS CSS:带圆角和渐变背景的输入按钮

将圆形彩色背景应用于 Material PopupMenu 组件的正确方法是啥?