要修改框架lib目录里的 CCImage.mm,就是把浮点值取了个整,之前的浮点形导致绘制失败:
在_initWithString这个方法里把如下代码替换一下就行了:
1 ///////////////////////////////////////////////////////// 2 ///////////////////////////////////////////////////////// 3 // for CCLabelTTF can not show text in ios7 4 /* 5 unsigned char* data = new unsigned char[(int)(dim.width * dim.height * 4)]; 6 memset(data, 0, (int)(dim.width * dim.height * 4)); 7 8 // draw text 9 CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); 10 CGContextRef context = CGBitmapContextCreate(data, dim.width, dim.height, 8, dim.width * 4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big); 11 */ 12 13 const int _width = dim.width; 14 const int _height = dim.height; 15 16 unsigned char* data = new unsigned char[(int)(dim.width * dim.height * 4)]; 17 memset(data, 0, (int)(_width * _height * 4)); 18 19 // draw text 20 CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); 21 CGContextRef context = 22 CGBitmapContextCreate(data, _width, _height, 8, _width * 4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big); 23 24 ///////////////////////////////////////////////////////// 25 /////////////////////////////////////////////////////////
参考:
http://www.cocoachina.com/ask/questions/show/92695
https://github.com/ricardoquesada/cocos2d-x/commit/e652423639d1d83396af2a331d4edae2af153063
本文介绍了一种解决CCLabelTTF在iOS7中无法正常显示文本的问题,通过修改框架lib目录下的CCImage.mm文件,将浮点值转换为整数,避免了绘制失败的情况。
290

被折叠的 条评论
为什么被折叠?



