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
보다 약간 작다.
하지만 당신은 여기에서 볼 수있는 배경이 검은 색 :
가 어떻게 채워진 원을 그릴 수 있습니까?