2011-10-30 11 views
2

iOSアプリケーションで使用する「キャンバスのような」要素を探しています。 「キャンバスのような」とは、長方形、線、テキスト、画像などの基本的な図形を描くことができるサーフェスが必要なことを意味します。私は3Dや他の本当に高度なものは必要ありません - 長方形や他の画像で十分ですが、必要に応じてテキストを画像に保存できます。キャンバスのような要素

私はそのようなAPIは利用できないとは思いませんが、どのように呼びますか?

+0

参照http://stackoverflow.com/questions/6724800/how-to-use-drawrect-to-draw-in-a-existing-view/6725315#6725315 –

答えて

2

UIKitを使用すると、ユーザーが見て相互作用するすべてのものが本質的にビューになります。たとえば、ボタンはビュー、テーブルビューはビューなどです。アプリケーションには、メインビューコントローラまたはメインウィンドウが既に存在している必要があります。メインウィンドウには、0以上のビューが含まれています。 drawRect:メソッドを実装する立場にいる限り、作成する任意のビューを描画できます。ここでは、CoreGraphicsを使って描くことができた上UIViewサブクラスの実装例です:

@interface MyView : UIView 
@end 

@implementation MyView 

- (void)drawRect:(CGRect)dirtyRect { 
    CGContextRef context = UIGraphicsGetCurrentContext(); 
    CGContextSetRGBFillColor(context, 0, 0, 0, 1); 
    // here, you can draw shapes, for example, a circle: 
    CGContextFillEllipseInRect(context, CGContextMake(10, 10, 50, 50)); 
} 

@end 

次に、アプリケーションにMyViewのインスタンスを追加インタフェースビルダでカスタムビューのドラッグのいずれかとを変更するために、クラスMyViewに、またはあなたのビューコントローラのviewDidLoadで次の操作を行います。

- (void)viewDidLoad { 
    MyView * aView = [[MyView alloc] initWithFrame:self.bounds]; 
    [self.view addSubview:aView]; 
#if __has_feautre(objc_arc) != 1 
    [aView release]; 
#endif 
} 

あなたはQuartz 2D Programming GuideからdrawRect方法で何ができるかについての詳細を学ぶことができます。

0

HTMLのようなキャンバス5 <canvas>? "Core Graphics"(a.k.a. Quartz 2D)をチェックしてください。