2012-03-24 5 views
0

ビューの途中にテキストを描画する必要があります。テキストは1文字または数語にすることができます。 - (void)drawRect:(CGRect)rectメソッドでテキストを描画しています。ビューの途中でテキストを変更する

私がしたいのは、テキストが水平と垂直の中央に配置されるということです(私はそれを行う方法を知っています)。 BUT

「S」のような文字列は90ポイントのフォントサイズで描画されますが、「hello world」は30ポイントのフォントサイズで描画されます。

すべてのアイデア?

答えて

1

UILabelを使用すると、縦と横の中央に配置することができます。 adjustsFontSizeToFitWidthを使用すると、ラベルの幅に合わせてテキストを縮小することもできます。

label.adjustsFontSizeToFitWidth = YES; 
label.minimumFontSize = 10.0; // or whatever... 

サイズをさらに制御する必要がある場合は、自分で位置を決めなければならないと思います。 sizeWithFont:sizeWithFont:forWidth:lineBreakMode:メッセージをNSStringで使用して、特定のフォントで文字列のサイズを取得し、使用するサイズと描画する場所を調べることができます。 the documentationを参照してください。