2016-07-03 7 views
0

私はCATextLayerを承諾しようとしていますNSBackGroundColorAttributeNameアトリビュート文字列の属性ですか?CATextLayer NSBackGroundColorAttributeNameは動作させる方法がありますか?

let mutableAttributed = NSMutableAttributedString(string: text , attributes: [ 
      NSForegroundColorAttributeName : UIColor.redColor(), 
      NSBackgroundColorAttributeName : UIColor.whiteColor(), 
      NSFontAttributeName :UIFont.systemFontOfSize(12) 
      ]) 
    let textLayer = CATextLayer() 
    textLayer.needsDisplayOnBoundsChange = true 
    textLayer.string = mutableAttributed 
    textLayer.bounds.size = CGSizeMake(200,200) 

しかし、それは単に私が合理的answerが見つかりましたが、かなり古いです、そしてそれはiOS6から、それはそれをサポートするかべきでない場合、完全には明らかであるように思われませんしましたスタックを読んで、動作しません。

答えて

1

あなたが指摘した答えは正しいです。 CATextLayerは非常に原始的で、この機能をサポートしていません。幸いにも、コアテキストを使う必要はありません。 TextKitを使用して文字列を直接描画することができます(CATextLayerはまったく使用しないでください)。

+0

申し訳ありませんが、私は元のものからコードをアセンブルしようとしていましたが、当然元のプロパティを設定していました。私は答えを更新しました。ありがとう – Andrea

+0

独自の属性付きテキストを描画するCALayerを構築する方法を示すコードを追加しました。 – matt

+0

実際には、ビデオのコンポジション上にレイヤーを追加するので、通常のTextKitビューを使用することはできません。私の知る限り、Appleは明示的にUIViewのレイヤーを使用しないと言っています。 これで、レイヤーの背景だけを設定するために、コードを使用するか、文字列属性を列挙することを考えています。多くのありがとう – Andrea

関連する問題