解决CATextLayer绘制出来的字体模糊问题
2016-03-31 11:56
387 查看
最近项目中使用到CATextLayer.可是碰到绘制出的字体模糊的问题.现将解决后的代码贴上来:
CATextLayer *textLayer = [CATextLayer
layer];
textLayer.string =
@"楼梯";
textLayer.font = (__bridge
CFTypeRef _Nullable)([UIFont
systemFontOfSize:14]);
textLayer.fontSize =
20;
textLayer.foregroundColor = [UIColor
redColor].CGColor;
CGSize size = [@"CATextLayer"
boundingRectWithSize:CGSizeMake(self.view.bounds.size.width,
MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName : [UIFont
systemFontOfSize:20]}
context:nil].size;
textLayer.bounds = (CGRect){{0,0},size};
textLayer.position =
CGPointMake(100,
100);
textLayer.contentsScale = [UIScreen
mainScreen].scale;// 这句话使得字体不模糊,这是因为屏幕的分辨率问题,参照图片@1x. @2x. @3x .改为相应数字就可以
[self.view.layer
addSublayer:textLayer];
CATextLayer *textLayer = [CATextLayer
layer];
textLayer.string =
@"楼梯";
textLayer.font = (__bridge
CFTypeRef _Nullable)([UIFont
systemFontOfSize:14]);
textLayer.fontSize =
20;
textLayer.foregroundColor = [UIColor
redColor].CGColor;
CGSize size = [@"CATextLayer"
boundingRectWithSize:CGSizeMake(self.view.bounds.size.width,
MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName : [UIFont
systemFontOfSize:20]}
context:nil].size;
textLayer.bounds = (CGRect){{0,0},size};
textLayer.position =
CGPointMake(100,
100);
textLayer.contentsScale = [UIScreen
mainScreen].scale;// 这句话使得字体不模糊,这是因为屏幕的分辨率问题,参照图片@1x. @2x. @3x .改为相应数字就可以
[self.view.layer
addSublayer:textLayer];
相关文章推荐
- [Unity3d插件KGFMapSystem]非常不错的小地图的制作
- jQuery 的选择器
- 单元格点击效果,一闪就没了
- Java微信公众平台开发(八)——多媒体消息回复
- Backbone的model学习笔记一
- SpringMVC中的DispatcherServlet (及WebApplicationContext部分)
- EditeText的maxlength中文、字符长度限制
- 视频编解码学习之一:理论基础
- HMTL5的 video 在IOS7中碰到的坑
- Android面试回忆录
- 以platform总线方式注册杂项设备驱动
- centos6.7安装oracle11gR2安装步骤记录
- Android-动态加载和静态加载Fragment
- Java微信公众平台开发【番外篇】(七)——公众平台测试帐号的申请
- HIBERNATE与 MYBATIS的对比
- 金额转换,阿拉伯数字转换成中国传统形式
- 打印等长的二维数组,要求从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。
- MongoDB使用小结:一些常用操作分享
- cocos2dx中CC_CALLBACK_N的理解
- 设置透明窗体