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ではなく、初期化メソッドでファイルをロードすることをお勧めします。