CCLabelTTFで文字が表示されない
iOS7にすると昔のソースが動かなくなっていました。
CCLabelTTFからラベルを作成すると、フォントが表示されなくなっていたようです。
公式の最新では既に対処されているのかもしれませんが、古いソースでは下記の修正で動きました。
変更メソッド:_initWithString
◎ 変更前
| 251 | CGContextRef context = CGBitmapContextCreate(data, dim.width, dim.height, 8, dim.width * 4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big); | 
◎ 変更後
| 251 | CGContextRef context = CGBitmapContextCreate(data, dim.width, dim.height, 8, (int)dim.width * 4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big); | 
同じメソッド内で、古いUITextAlignmentが使用されているので、
こちらもNSTextAlignmentへ変更します。
◎ 変更前
| 267 268 269 |         UITextAlignment align = (UITextAlignment)((2 == uHoriFlag) ? NSTextAlignmentRight                                 : (3 == uHoriFlag) ? UITextAlignmentCenter                                 : UITextAlignmentLeft); | 
◎ 変更後
| 267 268 269 |         NSTextAlignment align = ((2 == uHoriFlag) ? NSTextAlignmentRight                                 : (3 == uHoriFlag) ? NSTextAlignmentCenter                                 : NSTextAlignmentLeft); | 
最後に、UILineBreakModeWordWrap を、NSLineBreakByWordWrappingへ修正します。
◎ 変更前
| 282 | [str drawInRect:CGRectMake(0, startH, dim.width, dim.height) withFont:font lineBreakMode:(UILineBreakMode)UILineBreakModeWordWrap  alignment:align]; | 
◎ 変更後
| 282 | [str drawInRect:CGRectMake(0, startH, dim.width, dim.height) withFont:font lineBreakMode:NSLineBreakByWordWrapping alignment:align]; | 
以上の修正で、TTFLabelから作成されたCCMenuItemLabelの表示まで確認できました






