CoreGraphics 基礎

iOSのCoreGraphicsです。

iOSでCGXxxxといったCoreGraphics 関係のAPIを使うには, CoreGraphics.framework が必要です。

coregraphics

さて, CGXxxを使って図形やら線やらを描画していくのには, UIViewを拡張したクラスを作って, トップのUIに張っていくというのが, いいでしょう。

SampleView.h

#import <UIKit/UIKit.h>
@interface SampleView : UIView
@end

UIViewの拡張クラスです。

#import "SampleView.h"

@implementation SampleView

- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}

// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
}

UIViewを作りました。
UIViewの拡張クラスをつくると, XCodeでは自動的にdrawRectというコードがコメントアウトされた状態で登場します。このコメントアウトを削除して
ここに描画するためのコードを書いていきます。

次にこれをトップのView, xibでもstoryboardでもいいですが, とりあえず, ViewControllerから貼付けましょう。

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIView *view = [[SampleView alloc] initWithFrame:CGRectMake(self.view.frame.origin.x,
                                                            self.view.frame.origin.y,
                                                            self.view.frame.size.width,
                                                            self.view.frame.size.height)];
    
    [self.view addSubview:view];
}

ViewControllerの, viewDidLoadに書きました。結構省略しています。 元のviewの大きさや位置をとってきて, その大きさ道理にSampleViewを作って
addSubViewで貼付けました。これだけです。
実際の描画のコードは次回よりみていきましょう。

Android みたいにCanvasとViewかを意識する必要はないのです。