Рисовать изображения на CGContext без initWithFrame - PullRequest
0 голосов
/ 22 июня 2011

В настоящее время у меня есть объект UIImage, который инициализируется с помощью initWithFrame, а затем у меня есть несколько 2D-чертежей в -(void)drawRect:(CGRect)rect{} с `CGContext.Очень простой.Все, что я хочу знать, это как рисовать нажатием, например, кнопки или любого события (не только при инициализации)?

Я попытался скопировать код внутри drawRect в новый метод, названный redraw но это приводит к очевидной ошибке:

CGContextMoveToPoint: недопустимый контекст 0x0

Я только хочу знать, как можно рисовать черезCGContext в то время как UIView был создан. Не, например, как слушать событие UIButton

Спасибо.

1 Ответ

2 голосов
/ 22 июня 2011

Вы можете рисовать только в методе drawRect: UIView или создав собственный контекст image .Вы не можете рисовать на экране любым способом, кроме drawRect: или реализации рисования для CALayer.Вам необходимо соответствующим образом установить переменные в вашем представлении, а затем вызвать setNeedsDisplay, чтобы перерисовать его.Например, добавьте свойство @property(retain) UIImage *image; к вашему виду, установите для него новое изображение и затем вызовите setNeedsDisplay (или, что еще лучше, реализуйте метод setImage: и вызовите [self setNeedsDisplay]; здесь).

...