Почему функции Quartz 2D Graphics Contextxts должны вызываться из метода drawRect?
Потому что, если я вызываю контекстную функцию CGGraphics из любого места, кроме как внутри drawRect, я получаю сообщения вроде этого:
<Error>: CGContextFillRects: invalid context
<Error>: CGContextSetFillColorWithColor: invalid context
На самом деле в подклассе UIView я настраиваю графический контекст в методе, называемом Render. Ставка при вызове Render вызывает следующие ошибки:
- (void)Render {
CGContextRef g = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(g, [UIColor blueColor].CGColor);
CGContextFillRect(g, CGRectMake(0, 0, self.frame.size.width, self.frame.size.height));
CGContextSetFillColorWithColor(g, [UIColor blackColor].CGColor);
[@"It works!" drawAtPoint:CGPointMake(10.0, 20.0) withFont:[UIFont systemFontOfSize:[UIFont systemFontSize]]];
NSLog(@"gsTest Render");
}