2012-04-17 13 views
0

私は実際にこれに対する答えを探しましたが、ここでは何もしっかりしていません。UILabelを追加して、そのテキストが別のUILabelの「テキスト」の2ピクセル下になるようにするにはどうすればよいですか?

UILabelsをビューに動的に追加していますが、どのサイズでもかまいません。 2番目に追加されたものは、行の下に文字があるかどうかにかかわらず、最後の2ピクセル下に約2ピクセル下に配置したいと思います。

私は様々な方法を使ってみましたが、フォントにサイズが設定された後にラベル枠を取得しましたが、見た目はありません。フレームは常に実際のテキストよりも大きく見えます。

あなたにはアイデアがありますか?

答えて

1

まず、ラベルのadjustsFontSizeToFitWidthをNOに設定して、あなたの目標と思われるように通常の比率を台無しにすることができるかどうかを確認します。

これが機能しない場合は、文字列をCALayerに描画する必要があります。すなわち、CALayerのを作成し、ビューのルート層にそれを追加します。

[yourNewLayerForString setDelegate:self]; 

そして、そのクラスのdrawLayer(1を実装します。

[yourView.layer addSublayer.yourNewLayerForString]. 

は、描画を行いますクラスにサブレイヤのデリゲートを設定します。デリゲートとして割り当てられます)。 drawLayerコードは一見醜いものですが、レイヤー内に文字列を描く方法の例があります。これはうまく見える:addTextToLayer

次に、フォントと文字列のサイズを正確に制御し、目的に合わせてレイヤーフレームとビューフレームを調整できます。

関連する問題