2011-03-12 17 views
0

NSString drawInRectメソッドに問題があります。 「あなたが画面全体に達するのみテキスト行が最後のものである見ることができるようにNSString drawinrectが矩形全体を塗りつぶさない

Image text on screen http://img37.imageshack.us/img37/6247/capturadepantalla201103t.png

、私はドン:私は非常に大規模なテキストを持っている は768×1024サイズのRectの上に塗装すると、私はこの取得します他の行がなぜそうしないのか知りません。 これは私のコードです:

//The drawing rectangle 
CGRect textRect = CGRectMake(1, 4, 768, 1024); 
[[UIColor blackColor] set]; 
CGContextSetTextDrawingMode(context, kCGTextFillStroke); 
//texto_completo is a very large text String 
[texto_completo drawInRect:textRect withFont:font lineBreakMode:UILineBreakModeCharacterWrap  alignment:UITextAlignmentLeft]; 
CGImageRef cgImage = CGBitmapContextCreateImage(context); 
UIImage *img_con_texto = [[UIImage alloc] initWithCGImage:cgImage]; 
UIGraphicsPopContext(); 
CGContextRelease(context); 
CGImageRelease(cgImage); 

は、あなたは私がこの動作を理解する助けてもらえますか?

答えて

0

APpleアルゴリズムが過度に攻撃的であるようです。

最適な解決策は、UITextAlignmentCenterにアラインメントを設定することです。これは、文字を一番上に揃える唯一の方法です。私のテストでは、ライムブレークはアラインメントUITextAlignmentLeftと同じでした。

+0

UITextAlignmentCenterをUITextAlignmentRightに設定しようとしましたが、同じエラーが発生します。小さな四角形を設定しようとしましたが、同じことが起こります。 それを修正する唯一の方法は、より大きなフォント、サイズを設定することでしたが、私は小さなフォントが必要です。 助けてください? – Fernando

+0

誰も同じ問題がありますか?またはこの方法はあなたのために働くのですか? – Fernando

関連する問題