Attributed String学习笔记

在实习中要实现下图中NavigationBar上的效果,经过考虑后认为使用NSAttributedString最为合适


根据官方文档介绍,Attributed string objects可以拥有一些字符串的属性(如字体、间距等)并将其选择性的应用到相关联的字符串上。比如图中的字符串就是通过取出换行符前后两部分的NSRange,再分别应用不同fontsize实现的。

NSAttributedString也有对应的NSMutableAttributedString版本用以需要改变的字符串,两者与CFAttributedString和CFMutableAttributedString关系为toll-free。

需要注意的是NSAttributedString并不是NSString的子类,而是NSAttribtedString包含一个NSString object并向其赋予一些attributes,这些attributes由NSDictionary存储。也因为如此,NSAttributedString不能直接和NSString做等于比较判断。此外NSAttributedString也实现了NSCopy和NSMutableCoping协议,因此可以很方便的在两种类型之间进行转换。

Attributed String的基本使用

创建方式:
1.initWithString:或initWithString:Attributeds:或initWithAttributedString:方法
例如:
NSFont *font = [NSFont fontWithName:@"Palatino-Roman" size:14.0];
NSDictionary *attrsDictionary =
        [NSDictionary dictionaryWithObject:font
                                    forKey:NSFontAttributeName];
NSAttributedString *attrString =
    [[NSAttributedString alloc] initWithString:@"strigil"
            attributes:attrsDictionary];

2.通过RTF创建(Attributes从富文本得到)
3.通过HTML创建(Attributes从HTML得到)

此外,AttributedString也支持获取当前字符串上的属性及其范围,也可以再进一步修改。

附:NSAttributedString所支持的标准属性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值