親切すぎるiPhoneアプリ開発の本

CALayerに独自の外観を持たせるには? - CALayer派生クラスによるcontents加工

Icon comment count 0
Icon stock count 0

3 CALayer派生クラスによるcontents加工

今度は「CALayer派生クラスを定義し、-drawInContext:メソッドをオーバライドする」という方法を試してみましょう。

3.1 ベジェ曲線を使ったハートマークの描画

CALayer派生クラス(HeartLayerと命名)を用意して、矢印ではなくハートマークを描いてみます。UIViewの派生クラスを用意した要領で、Cocoa Touch Class テンプレートを選び、派生元をCALayerとしたHeartLayer.swiftのファイルを作り、プロジェクトに追加してください。Runすると次のようになります。

注意)Cocoa Touch Classテンプレートの派生元を指定する画面で、CALayerはメニューに出てきません。直接書き込んでください

↓ ハートマーク
↓ HeartLayer.swift サンプル:13/CustomLayer-03
import UIKit
class HeartLayer: CALayer {
    ↓自身のオフスクリーンを描画
    override func drawInContext(ctx: CGContext!) {
        ↓ここで座標の変換をしている
        CGContextTranslateCTM(ctx, self.bounds.size.wi

出典情報

Medium

親切すぎるiPhoneアプリ開発の本

  • 著者: 國居 貴浩

コメント

    コメントはありません