テキストのブロックをストロークで描画しようとしています。そのため、少し検索して実験する方法は、UIView をサブクラス化し、drawRect でストロークを使用してテキストを描画することのようです。描画コードは以下です。
私が設定した方法では、UITextView を使用してインタラクティブに必要なテキストを入力します。次に、テキストがストロークで描画された UIView サブクラスの広告に渡されます。
これは完璧に機能しているようです。唯一の問題は、リターン キーが押されたとき (新しい行の作成)、または UITextView に対して幅が広すぎるために行が折り返されたときです。この情報は渡されないため、描画された (ストロークされた) テキストに新しい行はありません。 UIView サブクラスで。
何か助けはありますか?
描画コード (theText は UITextView のテキストを渡すプロパティであることに注意してください):
UIFont *font = [UIFont fontWithName:@"Arial" size:fontSize];
CGPoint point = CGPointMake(0,0);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 1.0);
CGContextSetRGBStrokeColor(context, 0.0, 0.0, 0.0, 1.0);
CGContextSetLineWidth(context, 4.0);
CGContextSetTextDrawingMode(context, kCGTextFillStroke);
CGContextSaveGState(context);
[theText drawAtPoint:point withFont:font];
CGContextRestoreGState(context);