UIView.Draw(CGRect) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在傳入的矩形內繪製檢視。
[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);
}
這可從背景執行緒使用。