图文混排--CoreText的简单运用

时间:2023-03-09 05:11:40
图文混排--CoreText的简单运用

常见的在一些微博微信中可以看见一段文字中有不同的字体,字体有不同的颜色,并且可能会有一些笑脸之类的表情,这些可以通过图文混排做到。

图文混排可以通过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;

不过对于汉字以上方法有点问题,目前个人还在学习中,不了解具体原因,暂且放这,日后再解决。