2012-03-13 17 views
0

部分的に太字のテキストをNSAttributedStringという形で表示するには、CATextLayerを使用しますが、依然としてIBの利便性を位置付けに使用したいと考えています。Interface BuilderのCATextLayer?

CATextLayerをインタフェースビルダーでドロップする方法はありますか?または次善策は何ですか?あなたはIBでUIViewサブクラスを設定することができ

答えて

3

は、コード内でCATextLayerにそのlayerClassを設定します。

+ (Class)layerClass; 
{ 
    return [CATextLayer class]; 
} 

をビューのinit方法(複数可)あなたのCATextLayerプロパティを設定するには。レイヤーのプロパティにアクセスするには

CATextLayer *textLayer = (CATextLayer *)self.layer; 
textLayer.string = @"Foo"; 
// etc... 
+0

をだから私はこの方法を試みたが、私の新しいサブクラスは、UIViewのを継承するとして、それはCATextLayer方法を知りません。 'self.myView.string = @" test ";' '' MyView * 'のタイプのオブジェクトに' string 'プロパティが見つかりません。 – trapper

+1

プロパティはビューではなくレイヤーにあります。回答の編集で追加のコードサンプルを参照してください。 – FluffulousChimp

+0

ああ、はい、今働いています。それについて考えてみましたが、コード内にCATextLayerを作成し、それをサブレイヤとして位置付けUIViewに追加することができます。 UIViewのサブクラス化の手間を省く – trapper

関連する問題