2009-05-13 23 views

答えて

147

最初のステップはで描画するためのスペースを作成するには、のUIViewのサブクラスを定義することである。

新しいアプリケーションを起動している場合、最も簡単な方法は、「ウィンドウベースで開始することになりますアプリケーション "テンプレート。

新しいファイルに移動し、「Objective-C Class」を「Subclass of」を「UIView」に設定して作成し、名前を付けてください(MyView.m)。

"Resources"グループを開き、 "MainWindow.xib"をダブルクリックしてInterface Builderで開きます。ここから、「ウィンドウ」という名前のウィンドウが表示されます。 Cmd + Shift + Lキーを押してライブラリを表示し、ウィンドウに "View"コンポーネントをドラッグして配置し、すべてを見ることができるようにします。新しいビューを選択した状態で、Cmd + 4を押してIDインスペクタを開き、 "Class Identity"の下にあるドロップダウンをクリックしてMyViewを選択します。

次に、あなたがのdrawRectを実装する必要があります。MyView.mでの方法は、ここでのライン描画し、いくつかのサンプルコードです:

- (void)drawRect:(CGRect)rect { 
    CGContextRef c = UIGraphicsGetCurrentContext(); 

    CGFloat red[4] = {1.0f, 0.0f, 0.0f, 1.0f}; 
    CGContextSetStrokeColor(c, red); 
    CGContextBeginPath(c); 
    CGContextMoveToPoint(c, 5.0f, 5.0f); 
    CGContextAddLineToPoint(c, 50.0f, 50.0f); 
    CGContextStrokePath(c); 
} 

保存し、すべてをし、「ビルドして実行」をクリックし、あなたが今見るべきですiPhoneの短い赤い線。

Core Graphicsの詳細については、Appleのドキュメントを参照してください。また、XcodeドキュメンテーションビューアでCGContextで始まる関数を検索し、それらをブラウズすることが有用であることを発見しました。使用することになるほとんどのCore Graphics関数は、 "CGContext"という用語で始まります。

+0

おかげトビアス....それは私を助け .... –

+56

1:以下は、垂直中心の水平線を描画します。 – willc2

+0

+1それは私を助けた:) –

4

UIBezierPathを使用して線を描画することもできます。代わりにRTFMのコードで答えるため

- (void)drawRect:(CGRect)rect { 
    CGFloat rectHeight = CGRectGetHeight(rect); 
    CGFloat rectWidth = CGRectGetWidth(rect); 

    UIBezierPath *line = [UIBezierPath bezierPath]; 
    [line moveToPoint:CGPointMake(0, rectHeight/2)]; 
    [line addLineToPoint:CGPointMake(rectWidth, rectHeight/2)]; 

    [[UIColor lightGrayColor] setStroke]; 
    [line stroke]; 
} 
関連する問題