11 - 简单实现图文混排(NSAttributedString 实现)
1 - (void)setupTextView 2 { 3 // 富文本技术: 4 // 1.图文混排 5 // 2.随意修改文字样式 6 // self.textView.text = @"哈哈4365746875"; 7 // self.textView.textColor = [UIColor blueColor]; 8 NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:@"哈哈123456"]; 9 // 设置“哈哈”为蓝色 10 [string addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(0, 2)]; 11 [string addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:30] range:NSMakeRange(0, 2)]; 12 [string addAttribute:NSBackgroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, 2)]; 13 14 // 设置“456”为红色 15 [string addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(6, 2)]; 16 [string addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:24] range:NSMakeRange(6, 2)]; 17 [string addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:NSMakeRange(6, 2)]; 18 19 // 创建图片图片附件 20 NSTextAttachment *attach = [[NSTextAttachment alloc] init]; 21 attach.image = [UIImage imageNamed:@"placeholderHeader"]; 22 attach.bounds = CGRectMake(0, 0, 15, 15); 23 NSAttributedString *attachString = [NSAttributedString attributedStringWithAttachment:attach]; 24 25 26 [string appendAttributedString:attachString]; 27 28 [string appendAttributedString:[[NSAttributedString alloc] initWithString:@"789"]]; 29 30 self.textView.attributedText = string; 37 }
iOS 6之前:CoreText,纯C语言,极其蛋疼
iOS 6开始:NSAttributedString,简单易用
iOS 7开始:TextKit,功能强大,简单易用
posted on 2016-06-01 17:37 aLonelyRoot3 阅读(137) 评论(0) 编辑 收藏 举报