这是我的drawRect
:
- (void)drawRect:(CGRect)rect
{
CGContextFillEllipseInRect(UIGraphicsGetCurrentContext(), self.bounds);
}
并且这个类的实例在下一个方面添加了一个子视图:
(#define DOTS_SIZE 30
)
[self addSubview:[[VertexView alloc] initWithFrame:CGRectMake(anchor.x-DOTS_SIZE/2, anchor.y-DOTS_SIZE/2, DOTS_SIZE, DOTS_SIZE)]];
据我所知,我应该在视图边界中得到椭圆(圈出我的情况)。但我完全用矩形(方形)填充它。
顺便说一下,我已经记录了界限,它们的大小是30x30,所以我应该得到漂亮的小圆圈,但我得到正方形(T_T)
我会感谢任何建议!
答案 0 :(得分:4)
问题是你必须在绘制椭圆之前进行一些设置。例如:
- (void)drawRect:(CGRect)rect
{
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(ctx, [UIColor redColor].CGColor); // Or any other color.
CGContextFillEllipseInRect(ctx, self.bounds);
}
要使背景透明,您可以查看:Setting A CGContext Transparent Background