Manual/Xcode(3)

View への描画

  1. UIViewのサブクラスを作成
  2. Interface Builder で、UIViewを配置、そのクラスを上記のものにする
  3. DrawRect メソッドを実装

UIViewのサブクラスを作成

  1. ファイル → 新規ファイル→Cocoa Touch Class→Objective-C class→Subclass of UIView
    http://sumi.riise.hiroshima-u.ac.jp/skitch/xcode-20120704-223016.png
  2. SimpleView という名前のサブクラスとする

Interface Builder で、UIViewを配置、そのクラスを上記のSimpleViewにする

  1. Resources 中の XXXXXXVewController.xib を開く
  2. ライブラリパネルから UIView をドラッグして配置
  3. インスペクタパネルのIdentify Inspectorでクラスを "SimpleView" とする
    http://sumi.riise.hiroshima-u.ac.jp/skitch/xcode-20120704-224036.png
  4. 保存

DrawRect メソッドを実装

  1. SimpleView.m を開く
  2. drawRect の部分のコメントを外す
    /*  【←削除】
    // Only override drawRect: if you perform custom drawing.
    // An empty implementation adversely affects performance during animation.
    - (void)drawRect:(CGRect)rect {
        // Drawing code.
    }
    */ 【←削除】
  3. まずはサンプル。以下のように。
    - (void)drawRect:(CGRect)rect {
    	CGContextRef context = UIGraphicsGetCurrentContext();
    
    	CGContextMoveToPoint(context,0,0);
    	CGContextAddLineToPoint(context,rect.size.width,rect.size.height);
    	CGContextStrokePath(context);
    }
  4. 線の種類を変更
    - (void)drawRect:(CGRect)rect {
    	CGContextRef context = UIGraphicsGetCurrentContext();
    
    	CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 1.0);
    	CGContextSetRGBStrokeColor(context, 0.4, 0.4, 0.9, 1.0);
    	CGContextSetLineWidth(context, 5.0);
    
    	CGContextMoveToPoint(context,0,0);
    	CGContextAddLineToPoint(context,rect.size.width,rect.size.height);
    	CGContextStrokePath(context);
    }
    http://sumi.riise.hiroshima-u.ac.jp/skitch/xcode-20120704-233827.png http://sumi.riise.hiroshima-u.ac.jp/skitch/xcode-20120704-233220.png
  5. CG は Core Graphics。Core がつくのは Objective-C ではなくて C のライブラリ
  6. 他の描画関数についてはアップルのサイトを参照
  7. やってみよう
    http://sumi.riise.hiroshima-u.ac.jp/skitch/xcode-20120705-001548.png http://sumi.riise.hiroshima-u.ac.jp/skitch/xcode-20120705-011006.png http://sumi.riise.hiroshima-u.ac.jp/skitch/xcode-20120705-004746.png

View への描画

View でのイベント取得

画面の切替


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-07-05 (木) 01:10:49 (1937d)