繁体   English   中英

如何绘制UIImage或直接在-drawRect:?

[英]How to draw an UIImage or directly in -drawRect:?

我有一个UIImage ,我想在UIView上绘制。 但是我没有创建UIImageView并将其添加为子视图,而是想覆盖-drawRect:并直接绘制我的UIView。

例如,我的代码如下所示:

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

    UIImage *img = [UIImage imageNamed:@"foo.png"];

    // how to draw the directly into the view now?
}

调用[img drawInRect:rect];

顺便说一句,你不应该在drawRect方法中加载图像文件。 因为只要需要更新视图,就会调用该方法。 因此,它(当然,加载程序)可能在运行期间被多次调用。 (此外,OS2.x的imageNamed方法有一个错误 - 没有缓存图像并泄露它。)

因此,最好在初始化方法中加载文件,而不是在drawRect中加载。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM