我有一个继承自 UIView
的自定义 View 。
在此 View 中,有一个始终相同的图像,我只想在其上进行绘制。
但是,为了绘制图像,我必须在每次绘制周期运行时调用 drawInRect
。
- (void)drawRect:(CGRect)rect{
CGContextRef context = UIGraphicsGetCurrentContext();
[image drawInRect:self.bounds];
// drawing....
}
有没有一种方法可以显示图像,而不是每次调用 drawRect
时都调用此方法?
谢谢。
最佳答案
将图像放入自定义 UIView
下的 UIImageView
中,而不是在 drawRect:
中绘制。将自定义 View 的背景颜色设置为 clearColor
,以便图像通过 drawRect:
不绘制任何内容的位置显示。
不要尝试使 ImageView 成为自定义 View 的 subview 。 subview 总是在其父 View 的内容之上绘制。您可以使自定义 View 成为 ImageView 的 subview ,也可以使它们成为同级 View 。
关于ios - 使用相同图像绘制缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13661017/