iOSアプリケーションで使用する「キャンバスのような」要素を探しています。 「キャンバスのような」とは、長方形、線、テキスト、画像などの基本的な図形を描くことができるサーフェスが必要なことを意味します。私は3Dや他の本当に高度なものは必要ありません - 長方形や他の画像で十分ですが、必要に応じてテキストを画像に保存できます。キャンバスのような要素
私はそのようなAPIは利用できないとは思いませんが、どのように呼びますか?
iOSアプリケーションで使用する「キャンバスのような」要素を探しています。 「キャンバスのような」とは、長方形、線、テキスト、画像などの基本的な図形を描くことができるサーフェスが必要なことを意味します。私は3Dや他の本当に高度なものは必要ありません - 長方形や他の画像で十分ですが、必要に応じてテキストを画像に保存できます。キャンバスのような要素
私はそのようなAPIは利用できないとは思いませんが、どのように呼びますか?
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
方法で何ができるかについての詳細を学ぶことができます。
HTMLのようなキャンバス5 <canvas>
? "Core Graphics"(a.k.a. Quartz 2D)をチェックしてください。
参照http://stackoverflow.com/questions/6724800/how-to-use-drawrect-to-draw-in-a-existing-view/6725315#6725315 –