常见的在一些微博微信中可以看见一段文字中有不同的字体,字体有不同的颜色,并且可能会有一些笑脸之类的表情,这些可以通过图文混排做到。
图文混排可以通过WebView和CoreText做到,其他还有别的方法暂不去讲,我也还没学到。
WebView相对简单,直接将链接load过来就可以了,但对设备要求较高。
CoreText相对底层,也就相对高效,也就相对复杂。
举个简单的例子:
例如设置一个UILab,要求其中显示“hello world”;
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(30, 100, 400, 80)];
[self.view addSubview:label];
NSString *string = @"hello world";
NSMutableAttributedString *attstring = [[NSMutableAttributedString alloc]initWithString:string];
[attstring addAttribute:NSFontAttributeName
value:[UIFont systemFontOfSize:40]
range:[string rangeOfString:@"world"]];//字体大小
[attstring addAttribute:NSForegroundColorAttributeName
value:[UIColor redColor]
range:[string rangeOfString:@"world"]];字体颜色
[attstring addAttribute:NSBackgroundColorAttributeName
value:[UIColor blueColor]
range:[string rangeOfString:@"hello"]];//背景颜色
label.attributedText = attstring;
不过对于汉字以上方法有点问题,目前个人还在学习中,不了解具体原因,暂且放这,日后再解决。