次の方法で共有


UIView.Draw(CGRect) メソッド

定義

渡された四角形内にビューを描画します。

[Foundation.Export("drawRect:")]
[ObjCRuntime.ThreadSafe]
public virtual void Draw (CoreGraphics.CGRect rect);
abstract member Draw : CoreGraphics.CGRect -> unit
override this.Draw : CoreGraphics.CGRect -> unit

パラメーター

rect
CGRect

描画する RectangleF

属性

注釈

メソッドを Draw(CGRect) 直接呼び出すべきではありません。 これは、実行ループ処理中に iOS によって呼び出されます。 実行ループを初めて実行すると、 が呼び出されます。 その後、ビューが または SetNeedsDisplayInRect(CGRect)を呼び出して表示が必要とマークされるたびに、オンデマンドで呼び出SetNeedsDisplayInRect(CGRect)されます。

Core Graphics では、ピクセルではなくデバイスに依存しないポイントが使用されます。 これにより、描画コードをさまざまな解像度間でスケーリングできます。 たとえば、Retina ディスプレイでは、1 ポイントは 2 ピクセルに相当し、Retina 以外のディスプレイでは 1 ポイントは 1 ピクセルに対応します。

public override void Draw (RectangleF rect)
{
    base.Draw (rect);

    var context = UIGraphics.GetCurrentContext ();

    context.SetLineWidth(4);
    UIColor.Red.SetFill ();
    UIColor.Blue.SetStroke ();

    var path = new CGPath ();

    path.AddLines(new PointF[]{
    new PointF(100,200),
    new PointF(160,100), 
    new PointF(220,200)});

    path.CloseSubpath();

    context.AddPath(path);		
    context.DrawPath(CGPathDrawingMode.FillStroke);
}

これは、バックグラウンド スレッドから使用できます。

適用対象