2011/02/04

CATextLayer 整理

先日、
「CATextLayerでググル先生に聞くと、10番目くらいになってるよ」
と言われ、見てみると確かに。

そして今見ると、5番目になってれぅ。


何故なんだググル先生。。。


全国のiPhoneビルダーの皆様苦労されてますね。
確かにCATextLayerって情報少ないですよね。


何を間違ってか、
こんなニッチな趣味開発日記ブログに迷いこまれた方向けに。


基本はCALayerの派生クラスなんで、扱いは一緒です。


ただUILabelと違って、
adjustsFontSizeToFitWidth(自動リサイズ)や、
baselineAdjustment(ベースライン調整)が
用意されていないので、
自前でフォント幅や高さを図る必要があります。


この当たりはNSStringのメソッドで調べられます。



[調べたい文字列 sizeWithFont:[UIFont systemFontOfSize:フォントサイズ]].width


高さはフォント次第ですが、
小文字の"y"など、ベースラインより下に表示される文字を使う場合、
やはり自前で調整しなければ行けないので、
boundsを移動するなどで調整しましょう。



そういった苦労をすれば、CALayer同等の扱いができるので、
InterfaceBuilderで画面を作らず、
ViewとLayerベースで画面を作ってる人は重宝すると思います。


2Dゲーム系とかにいいんじゃないでしょうか。

0 件のコメント:

コメントを投稿