CGContextFillEllipseInRect действует странно - PullRequest
0 голосов
/ 18 марта 2012

Вот мои 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)

Буду благодарен за любые советы!

1 Ответ

4 голосов
/ 18 марта 2012

Проблема в том, что вам нужно выполнить некоторые настройки перед рисованием эллипса.Например:

- (void)drawRect:(CGRect)rect
{
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGContextSetFillColorWithColor(ctx, [UIColor redColor].CGColor); // Or any other color.
    CGContextFillEllipseInRect(ctx, self.bounds);
}

И чтобы сделать фон прозрачным, вы можете проверить: Установка прозрачного фона CGContext

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...