首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何用NSMutableAttributedString设置UILabel (非UITextView)圆角背景?

要使用NSMutableAttributedString设置UILabel的圆角背景,可以按照以下步骤进行操作:

  1. 首先,创建一个UILabel实例,并设置其frame和文本内容。
代码语言:txt
复制
let label = UILabel(frame: CGRect(x: 50, y: 50, width: 200, height: 100))
label.text = "Hello World"
  1. 创建一个NSMutableAttributedString实例,并设置其属性。
代码语言:txt
复制
let attributedString = NSMutableAttributedString(string: label.text ?? "")
  1. 使用NSAttributedString.Key设置NSMutableAttributedString的属性,包括字体、颜色、背景色等。
代码语言:txt
复制
let attributes: [NSAttributedString.Key: Any] = [
    .font: UIFont.systemFont(ofSize: 16),
    .foregroundColor: UIColor.white,
    .backgroundColor: UIColor.blue,
    .cornerRadius: 10 // 设置圆角半径
]
attributedString.addAttributes(attributes, range: NSRange(location: 0, length: attributedString.length))
  1. 将NSMutableAttributedString应用到UILabel上。
代码语言:txt
复制
label.attributedText = attributedString
  1. 设置UILabel的圆角属性。
代码语言:txt
复制
label.layer.cornerRadius = 10
label.layer.masksToBounds = true

完整的代码示例:

代码语言:txt
复制
import UIKit

let label = UILabel(frame: CGRect(x: 50, y: 50, width: 200, height: 100))
label.text = "Hello World"

let attributedString = NSMutableAttributedString(string: label.text ?? "")

let attributes: [NSAttributedString.Key: Any] = [
    .font: UIFont.systemFont(ofSize: 16),
    .foregroundColor: UIColor.white,
    .backgroundColor: UIColor.blue,
    .cornerRadius: 10 // 设置圆角半径
]
attributedString.addAttributes(attributes, range: NSRange(location: 0, length: attributedString.length))

label.attributedText = attributedString

label.layer.cornerRadius = 10
label.layer.masksToBounds = true

这样,你就可以使用NSMutableAttributedString设置UILabel的圆角背景了。

推荐的腾讯云相关产品:腾讯云移动推送(https://cloud.tencent.com/product/tpns)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS文本布局探讨之三——使用TextKit框架进行富文本布局

在iOS6中,系统为UILabelUITextView等这类文本渲染控件引入了NSAttributedString属性,有了NSAttributedString这个类,创建灵活多彩的文本控件变得十分轻松...三、为富文本附件添加用户交互能力         TextKit框架强大到只使用UILabel就可以完成复杂的富文本布局,但是UILabel有一个致命的缺陷,其无法进行用户交互。...结合使用NSTextAttachment与UITextView,这些都能实现。...11, 7_0); //设置附件携带的文件目录 需要注意 如果设置了这个属性 image和data将无效 @property(nullable, strong, NS_NONATOMIC_IOSONLY...这里是中文"]; NSMutableAttributedString * att = [[NSMutableAttributedString alloc]initWithAttributedString

2.1K20
  • UI篇-CATextLayer和 富文本的交融

    NSMutableAttributedString有可以最自己内容作出颜色以及大小的调整,这样结合起来使用的话,就远比UILabel 灵活的多,效果也酷炫的多,也许CATextLayer就是为了NSMutableAttributedString...有属性的控件有UILabel、UITextField和UITextView。...[NSMutableAttributedString alloc]initWithString:str]; //设置字体和设置字体的范围 [attrStr addAttribute:NSFontAttributeName...段落样式 NSParagraphStyle //NSForegroundColorAttributeName 前景色 UIColor //NSBackgroundColorAttributeName 背景色...:段落样式中允许你设置文字与文字之间的行间距、字符间距、以及对齐模式,但是注意的是,在设置段落样式的时候,必须保证控件的 numberofline属性必须为0 NSMutableAttributedString

    2.5K10

    iOS_Swift 实现UITextView,显示前n行,点击显示“更多”,再点击“收起”效果

    继承自UITextView,运用NSMutableAttributedString实现 1、Effect display Test1:直接使用效果如下: Test2:在TableViewCell里使用效果如下...lessLine < allLine { closeHeight = CGFloat(lessLine) * lineHeight } 获得前n行的文案:(难点在此,差点放弃,最后在 ios获取UILabel...每行显示的文字 这篇文章里找到解决方案) let attributedString = NSMutableAttributedString(string: moAllText, attributes:...moAllText.startIndex, offsetBy: String.IndexDistance(preLessLineLength)) let preLessLineText = moAllText[...index] 设置...demo see here MOAttributedTextView 参考: iOS 富文本添加点击事件 Ranges in Swift explained with code examples ios获取UILabel

    1.7K20

    图文混排

    它良好的结合了 UIKit 和 Core Graphics/Quartz: UIKit 的 UILabel 允许你通过在 IB 中简单的拖曳添加文本,但你不能改变文本的颜色和其中的单词。...UITextView,UITextField、UILabel都已经基于Text Kit重新构建,所以它们都支持分页文本、文本包装、富文本编辑、交互式文本着色、文本折叠和自定义截取等特性。...NSBackgroundColorAttributeName 设置字体所在区域背景颜色,取值为 UIColor对象,默认值为nil, 透明色 ​ NSLigatureAttributeName...4、NSTextContainer NSTextContainer描述了文本在屏幕上显示时的几何区域,每个text container与一个具体的UITextView相关联。...5、UITextView UITextView作为显示出来的实际的文本视图,在 TextKit 中,文本视图有两个目的:第一,它是文本系统用来绘制的视图。

    1.5K30

    iOS文本布局探讨之一——文本布局框架TextKit浅析

    iOS文本布局探讨之一——文本布局框架TextKit浅析 一、引言         在iOS开发中,处理文本的视图控件主要有4中,UILabel,UITextField,UITextView和UIWebView...其中UILabel与UITextField相对简单,UITextView是功能完备的文本布局展示类,通过它可以进行复杂的富文本布局,UIWebView主要用来加载网页或者pdf文件,其可以进行HTML,...最后,将要展示的NSTextContainer绑定到具体的UITextView视图上。...invalidateDisplayForGlyphRange:(NSRange)glyphRange; 六、文本内容类NSTextStorage         NSTextStorage实际上是继承自NSMutableAttributedString...2.行与段落的属性,缩进,行间距等。 3.文档属性,包括四周边距、文档尺寸等。 这些都由NSAttributedString来进行定义。

    1.8K10

    html图片自适应div大小_未知宽高的div元素垂直水平居中

    1.设置label的html图片 -(NSMutableAttributedString *)setAttributedString:(NSString *)str { //如果有换行,把\n替换成...*htmlString =[[NSMutableAttributedString alloc] initWithData:[str dataUsingEncoding:NSUTF8StringEncoding...html图片的高度 计算出来的 height 正好是排版后的高度大小,是 CGFloat 类型,在是在我们设置UIlabel/Cell 高度时,可能存在四舍五入等,最后存在的一点点误差使得 UILabel...显示不全,可能出现缺少一行,上下空白太多等情况; 解决方案:为了确保布局按照我们计算的数据来,可以使用ceil函数对计算的 Size 取整,再加1,确保 UILabel按照计算的高度完好的显示出来;...发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    2.8K20

    六天完成一个简单iOS App - 第二天

    通过观察登录界面,我们发现背景图片是提供好的,因此需要使用UIImageVIew设置背景图片,另外可以将登陆界面分为三部分,每一部分用UIView当载体存放,只要View内部的控件布局好了,只需要管理三个...❌号和注册账号布局 第一部分的布局非常简单,这里有一个注意点:UIButton 当只有一张图片显示的时候 ,建议使用image而不要设置背景图片,因为背景图片的设置会看按钮有多大就将图片拉伸到大,图片会被拉伸...SystemButton 设置为Custom就会在高亮时显示我们设置背景图片,并且不会渲染字体颜色。...设置button按钮的圆角 self.loginBtn.layer.cornerRadius = 5; self.loginBtn.layer.masksToBounds = YES; 也可以通过KVC...*label = [[UILabel alloc] init]; // 设置属性文字 NSString *text = @"你好\n哈哈哈"; NSMutableAttributedString *attributedText

    2.1K50

    【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)

    , 设置后该按钮会成为图片按钮, 之前设置的 Tittle 属性作废; (7) Background 属性 Background 属性 : 用于为按钮设置背景图片; -- 文本图片共存 : 该属性可以设置...文本 和 图片 共同作为按钮背景, 比使用 Image 属性设置图片 显示内容 更丰富; (8) Shadow Offset 属性 Shadow Offset 属性 :  -- 偏移值 : 控制 UILabel...用户登录界面示例 (1) 用户名 UI 设置 用户名设置 :  -- 设置 UILabel : 设置 Text 属性值为 "用户名 : "; -- 设置 Text Field 输入框 : Placeholder...触摸背景关闭虚拟键盘 (1) 修改 Custom Class  修改背景类别 :  -- 修改原因 : 默认的背景控件时 UIView, 该控件没有 IBAction 事件, 因此需要将背景控件设置为...IBAction 设置 IBAction :  -- 设置过程 : 使用 control + 鼠标左键, 将背景控件 UIControl 设置 IBAction 到 OCViewController.h

    6.8K20

    【封装富文本API,采用block实现链式编程】(block 的妙用:结合block和方法的优点实现iOS的链式编程)

    +Chain.h> demo UILabel *x = [UILabel new]; x.textAlignment = NSTextAlignmentCenter; [self.view.../删除线 // NSUnderlineStyleSingle 设置下划线/删除线为细的单线 // NSUnderlineStyleThick 设置下划线/删除线为粗的单线 // NSUnderlineStyleDouble...设置下划线/删除线为细的双线 // NSUnderlinePatternSolid 设置下划线/删除线样式为连续的实线 // NSUnderlinePatternDot 设置下划线/删除线样式为点,...设置下划线/删除线样式为连续的破折号和点,比如这样:——-——-——- // NSUnderlinePatternDashDotDot 设置下划线/删除线样式为连续的破折号、点、点,比如:——--——...(strong, NSMutableAttributedString, UIFont*, kn_fontSize); // 字体背景颜色 k_PropertyStatement(strong, NSMutableAttributedString

    86120
    领券