共用方式為


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 會在執行迴圈處理期間呼叫它。 第一次透過 Run 迴圈呼叫它。 之後,每當檢視已呼叫 或 來標示為需要顯示時,就會視需要呼叫 SetNeedsDisplayInRect(CGRect)SetNeedsDisplayInRect(CGRect)

核心圖形使用裝置獨立點,而不是圖元。 這可讓繪圖程式碼在不同的解析度之間縮放。 例如,在 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);
}

這可從背景執行緒使用。

適用於