ios - 使用相同图像绘制缓慢

标签 ios performance uiview uiimageview core-graphics

我有一个继承自 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/

相关文章:

ios - A block 带有 UI 回调的 for 循环

ios - 我想在 iPad 应用程序中创建一个行为类似于操作表的自定义 View

ios - 仅在准备好时才返回方法?

performance - Grails 性能问题

swift - 在 UIViewController 中使用 tableView 的标签来更新标签

ios - 制作主视图的 View subview 而不是它视觉上的 View 是一种好习惯吗?

php - 字符串等于不工作 iOS

performance - Flash 中的舞台外 DisplayObjects 是否仍会减慢我的游戏速度?

c# - C# 中的 CellFormatting 事件真的很慢

iphone - 自定义 UITableViewCell 中的自定义 UIView