【iOS】NSAttributedString 相关

1、富文本的相关属性字段: NSAttributedString.Key

(1)paragraphStyle

        let paraStyle = NSMutableParagraphStyle()
        paraStyle.alignment = .center
        paraStyle.lineSpacing = 20
        paraStyle.lineBreakMode = .byWordWrapping
lineBreakMode

只有当文本内容超出容器大小时才会起作用。

  • byWordWrapping: 默认,文本换行以work为单位
  • byCharWrapping: 文本换行以char为单位,当行尾的一个word放不下时,会按字符分开该word放到下一行
  • byClipping: 整体以word为换行单位,到最后一行仍放不下文本时,会截去多余的部分,可能导致word被拆分
  • byTruncatingHead/Middle/Tail: 最后一行还不能装下文本时,开头/中间/结尾用...表示

(2)baselineOffset

首先了解一下font的各个属性,日常初始化设置的是pointSize的大小,即字体大小:
在这里插入图片描述
baselineOffset表示fontlineHeightparagraphStylelineHeight上边界的垂直距离,设置之前一般通过paragraphStylemaximumLineHeightminimumLineHeight指定行高。值设为(paraStyle.maximumLineHeight - label.font.lineHeight) / 4表示居中,至于为什么不除2,官方也没有很明确的解释,可能是由于约束问题。

(3)strokeColor & foregroundColor

二者配合使用可做出下面这种文本效果(需要注意的是strokeWidth需要为负值,否则不起效果):

        let attributes: [NSAttributedString.Key: Any] = [
            .strokeWidth: -3,
            .strokeColor: UIColor.red,
            .foregroundColor: UIColor.yellow
        ]

在这里插入图片描述

2、初始化NSAttributedString

通过stringattributes初始化的NSAttributedString后续无法添加属性,需要用到NSMutableAttributedString

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NSLinkAttributeName是iOS中的一个常量,它是用于设置富文本中链接的属性名称。当我们需要在文本中添加链接时,可以使用这个属性来设置链接的URL。 使用方法如下: 1. 创建一个NSMutableAttributedString对象,用来存储带有链接的富文本。 2. 使用NSAttributedString的string方法将要添加链接的字符串转换为NSAttributedString对象。 3. 使用NSLinkAttributeName作为键,将链接的URL作为值,将其添加到NSMutableAttributedString对象的属性字典中。 4. 将NSMutableAttributedString对象赋值给UILabel、UITextView或其他支持富文本显示的UI控件。 示例代码如下: ``` NSString *text = @"这是一个带有链接的文本"; NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:text]; NSURL *url = [NSURL URLWithString:@"https://www.example.com"]; [attributedText addAttribute:NSLinkAttributeName value:url range:NSMakeRange(0, text.length)]; UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 50)]; label.attributedText = attributedText; ``` 在上述示例中,我们创建了一个带有链接的NSMutableAttributedString对象attributedText,并将链接的URL设置为https://www.example.com。然后将attributedText赋值给UILabel的attributedText属性,并将UILabel显示在屏幕上。 当用户点击文本中的链接时,系统会打开对应的URL,例如在浏览器中打开网页。 总之,NSLinkAttributeName是用于设置富文本中链接属性的属性名称,可以通过设置富文本的属性字典来添加链接,并通过支持富文本显示的UI控件来显示带有链接的文本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值