如何在UIImageView上绘制(iOS4)

时间:2011-07-20 14:33:31

标签: iphone ios4 uiimage drawing

我正在将XCode 4.0.2用于iOS4项目。

我有一个MainView.xib和一个MainViewController

我在UIImageView中插入了MainView.xib图片。

在Identity Inspector中,我给UIImageView一个自定义类图。

我创建了两个新文件Diagram.hDiagram.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 个答案:

答案 0 :(得分:1)

答案在Apple官方文档中

  

特别注意事项

     

优化UIImageView类以将其图像绘制到显示器。 UIImageView不会在子类上调用drawRect:。如果您的子类需要自定义绘图代码,建议您使用UIView作为基类。

您可以在this question

上查看更多详情