CREasyStyleTextStorage
是一个 NSTextStorage
子类,它提供了一种方便的方式来对子字符串应用不同的样式。有一个示例项目显示了它的通用用法。欢迎 Pull Request 和 Issue。更多功能即将到来。
CREasyStyleTextStorage
允许特定字符串具有独特的样式。配置和使用在 UITextView
中的示例如下。
CREasyStyleTextStorage *textStorage = [[CREasyStyleTextStorage alloc] init];
// Set default attributes
[textStorage setDefaultAttributes:@{NSFontAttributeName : [UIFont systemFontOfSize:14],
NSForegroundColorAttributeName : [UIColor blackColor]}];
// Make '@' symbols red
[textStorage setAttributes:@{NSForegroundColorAttributeName : [UIColor redColor]}
forString:@"@"];
// Make '#' symbols green
[textStorage setAttributes:@{NSForegroundColorAttributeName : [UIColor greenColor]}
forString:@"#"];
NSLayoutManager *layoutManager = [[NSLayoutManager alloc] init];
[textStorage addLayoutManager:layoutManager];
NSTextContainer *container = [[NSTextContainer alloc] initWithSize:self.view.bounds.size];
[layoutManager addTextContainer:container];
UITextView *textView = [[UITextView alloc] initWithFrame:CGRectZero textContainer:container];
[self.view addSubview:textView];