Как сделать рисование поверх UIImageView (iOS4) - PullRequest
0 голосов
/ 20 июля 2011

Я использую XCode 4.0.2 для проекта iOS4.

У меня есть MainView.xib и MainViewController.

Я вставил UIImageView в MainView.xib с изображением.

В Identity Inspector я даю UIImageView пользовательскую диаграмму классов.

Я создал два новых файла Diagram.h и Diagram.c. В Diagram.m я вставил

 - (void)drawRect:(CGRect)rect {
     UIGraphicsBeginImageContext(self.bounds.size); 
     CGContextRef context = UIGraphicsGetCurrentContext();

     CGContextSetLineWidth(context, 2.0);
     CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
     CGFloat components[] = {0.0, 0.0, 1.0, 1.0};
     CGColorRef color = CGColorCreate(colorspace, components);
     CGContextSetStrokeColorWithColor(context, color);

     CGContextMoveToPoint(context, 0, 0);
     CGContextAddLineToPoint(context, 200, 200);

     CGContextStrokePath(context);
     CGColorSpaceRelease(colorspace);
     CGColorRelease(color);
 }

Когда я запускаю приложение, я вижу изображение (в UIImageView, но рисунок не сделан. Возможно, не вызывается. Как я могу сделать?

Спасибо.

1 Ответ

1 голос
/ 20 июля 2011

Ответ в официальных документах Apple

Особые замечания

Класс UIImageView оптимизирован для отображения своих изображений на дисплее. UIImageView не будет вызывать drawRect: для подкласса. Если вашему подклассу требуется пользовательский код для рисования, рекомендуется использовать UIView в качестве базового класса.

Подробнее см. этот вопрос

...