Когда у меня есть UIBezier, и я создаю его на виде с помощью drawRect, я вижу, что bezier является своего рода изменчивым, я имею в виду, он действительно нигде не рисуется.Вместо этого это похоже на то, что оно было записано в виде буфера, который соответствует тому, что я вижу в этом представлении.Я имею в виду, что если я снова вызову drawRect с помощью [self setNeedsDisplay], Безье исчезнет, и я смогу написать другие вещи.
С другой стороны, если я рисую подобное на CGContext, используя
CGContextStrokePath(ctx);
Я действительно пишу линию для этого контекста, и нет никакого способа стереть ее, и если я снова вызову тот же метод, он будет писать поверх контекста, который теперь уже нарисовал одну линию.
Но чтопроисходит, когда я использую команду UIBezier для записи в CGContext?
Я имею в виду, если я делаю что-то вроде
UIGraphicsPushContext(ctx);
CGContextSaveGState(ctx);
CGContextTranslateCTM(ctx, 0, height);
CGContextScaleCTM(ctx, 1.0, -1.0);
[myBezier stroke];
CGContextRestoreGState(ctx);
UIGraphicsPopContext();
, эта строка постоянно записывается в ctx или она изменчива, как раньше?Документы не содержат никакой информации об этом и, как всегда, расплывчаты.
спасибо