1

CALayerのドキュメントを見てきましたがcornerRadius、レイヤーの背景にのみ影響し、には影響しないようですcontents

CALayerパフォーマンスに大きな打撃を与えることなく、コーナー半径を全体に適用する方法はありますか?

マスクについての提案を見たことがありますが、それはコストがかかるように聞こえます。手動で描画することについての提案も見ましたcontentsが、どこから始めればよいのかよくわかりません。CALayerコンテキストでの画像のレンダリングについては少し知っていますが、コーナー半径を使用してのコンテンツビューに画像を描画する方法がわかりません。私が知っている最善の方法CALayerは、メソッドをサブクラス化してオーバーライドし、drawInContextを使用することCGContextDrawImageです。

すべての助けに大いに感謝しますが、質問を繰り返すと、「パフォーマンスに大きな打撃を与えることなく、コーナー半径を全体に適用する方法はありますCALayerか?」

4

1 に答える 1

4

cornerRadiusCALayer全体に適用され、パフォーマンスに大きな影響を与えることはありません。角が丸い内容が表示されない場合は、masksToBoundsYESに設定し忘れているためです。

于 2012-09-18T18:01:49.257 に答える