iOS 之 图文混排(富文本)

来源:互联网 发布:阿里巴巴网络银行 编辑:程序博客网 时间:2024/05/18 20:47

与CoreText,textKit的区别

 /** iOS 6之前:CoreText,纯C语言,极其蛋疼 iOS 6开始:NSAttributedString,简单易用 iOS 7开始:TextKit,功能强大,简单易用 */

代码示例及注释讲解

- (void)setupTextView {// 富文本技术:// 1.图文混排// 2.随意修改文字样式//    self.textView.text = @"哈哈4365746875";//    self.textView.textColor = [UIColor blueColor];NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:@"哈哈123456"]; // 设置“哈哈”为蓝色[string addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(0, 2)];[string addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:30] range:NSMakeRange(0, 2)];[string addAttribute:NSBackgroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, 2)];// 设置“456”为红色[string addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(6, 2)];[string addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:24] range:NSMakeRange(6, 2)];[string addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:NSMakeRange(6, 2)];// 创建图片图片附件NSTextAttachment *attach = [[NSTextAttachment alloc] init];attach.image = [UIImage imageNamed:@"d_aini"];attach.bounds = CGRectMake(0, 0, 15, 15);NSAttributedString *attachString = [NSAttributedString attributedStringWithAttachment:attach];[string appendAttributedString:attachString];[string appendAttributedString:[[NSAttributedString alloc] initWithString:@"789"]];self.textView.attributedText = string;/** iOS 6之前:CoreText,纯C语言,极其蛋疼 iOS 6开始:NSAttributedString,简单易用 iOS 7开始:TextKit,功能强大,简单易用 */}

0 0