1
我想繪製一個圓,用某種顏色填充整個圓。我使用自動佈局來確定圓的大小。如果我正在做這個圓圈,但是背景顏色是黑色的。它應該是一個清晰的顏色,以便背景可以發光,並且該圓圈當然應該是圓形的。這是我在C#中的代碼,但與Objective-C沒有多大區別。試圖繪製一個實心的圓,但它有一個黑色的背景
public class Circle : UIView
{
private UIColor color;
public Circle()
{
this.color = UIColor.Red;
}
public override void Draw (RectangleF rect)
{
base.Draw (rect);
this.BackgroundColor = UIColor.Clear;
float red = 0;
float green = 0;
float blue = 0;
float alpha = 0;
color.GetRGBA (out red, out green, out blue, out alpha);
float lineWidth = 2.0f;
RectangleF borderRect = RectangleF.Inflate (rect, -lineWidth/2, -lineWidth/2);
// Get the context
CGContext context = UIGraphics.GetCurrentContext();
// Set the border width
context.SetLineWidth (lineWidth);
// Set the circle fill color
context.SetRGBFillColor (red, green, blue, alpha);
// Set the circle border color
context.SetRGBStrokeColor (red, green, blue, alpha);
// Fill the circle with the fill color
context.FillEllipseInRect (borderRect);
// Draw the circle border
//context.StrokeEllipseInRect (borderRect);
}
}
}
圓比UIView
,使得被吸入正確地不接觸邊緣(和因此切割某些部分的)略小。
但背景是黑色的,你可以在這裏看到:
怎樣繪製一個實心圓?