0

我有一个自定义视图继承自UIView.

在这个视图中,有一个始终相同的图像,我只想在其上绘制。

但是,为了绘制图像,我必须在drawInRect每次绘制周期运行时调用。

- (void)drawRect:(CGRect)rect{
    CGContextRef context = UIGraphicsGetCurrentContext();

    [image drawInRect:self.bounds];
    // drawing....
}

有没有办法显示图像而不是每次调用这个方法drawRect

谢谢你。

4

2 回答 2

2

将图像放在UIImageView自定义下方,UIView而不是将其绘制在drawRect:. 使您的自定义视图的背景颜色clearColor,以便图像显示在drawRect:不绘制任何内容的位置。

不要试图使图像视图成为自定义视图的子视图。子视图总是在其父视图的内容之上绘制。您可以使您的自定义视图成为图像视图的子视图,或者您可以使它们成为兄弟。

于 2012-12-01T17:52:28.877 回答
-1

在自定义类的 .h 文件中执行以下操作:

- (void)  setup:

然后在 .m 中执行以下操作:

-(void) setup {
    //drawing stuff
}

然后在视图中加载了将其添加为子视图的任何视图控制器

[myCustomView setup];
于 2012-12-01T15:55:29.620 回答