2011-01-19 4 views
0

私はテキストを動的に変更するためにいくつかのUILabel要素を持っています。 label.Layer.ShadowOffsetとditoカラーを使ってラベルに影を追加します。影付きのUILabelでSizeToFit()を使用しますか?

ラベルのテキストが変更されたときは、SizeToFitを使用します。問題:この方法では、影が考慮されていません。これは、小さすぎるラベルやシャドウがカットされることにつながります。

これを簡単に修正する方法はありますか、SizeToFitコールの後に手動でサイズを変更する必要がありますか?

答えて

1

UILabelのshadowOffsetプロパティとshadowColorプロパティを使用する代わりに、レイヤーに影を設定するのはなぜですか?私は、その場合の影を説明するためにsizeToFitが必要です。

+0

私はShadowOpacityも書かなければなりませんでした。これはUILabel上で直接利用できるように継ぎ目がなく、レイヤーを通過しなければなりません。 (私が使用しているMonotouchを少なくとも経由しないでください)。 – Ole

+0

その場合、UILabelをサブクラス化し、 'sizeThatFits:'をオーバーライドして、そのメソッドのスーパー実装から返されるサイズにいくつかのポイントを追加します。このサブクラスでもシャドウの設定を処理します。あなたが探していた簡単な修正ではないかもしれませんが、少なくともこのようにすべてのシャドウ動作は1つの場所にカプセル化されています。 – Brian

+0

アイデアありがとう - 他の誰も簡単なアイデアを持っていない場合、私はそれが私がする必要があると思います。 – Ole

関連する問題