次のコードを使用しているときに、スクロールのパフォーマンスの問題に直面したことがあるかどうか疑問に思っています。
- (UIImage *)maskImage:(UIImage *)image withMask:(UIImage *)maskImage
{
CGImageRef maskRef = maskImage.CGImage;
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
CGImageGetHeight(maskRef),
CGImageGetBitsPerComponent(maskRef),
CGImageGetBitsPerPixel(maskRef),
CGImageGetBytesPerRow(maskRef),
CGImageGetDataProvider(maskRef), NULL, false);
CGImageRef masked = CGImageCreateWithMask([image CGImage], mask);
return [UIImage imageWithCGImage:masked];
}
わかりました、基本的に上記のコードは、このサイトから見つけた画像マスキングを行っています。
http://iosdevelopertips.com/cocoa/how-to-mask-an-image.html#comment-47347
そして、それをプロジェクトにうまく統合したため、テーブルビューをスクロールしているときにパフォーマンスの問題が発生しました。
私が疑っているのは、毎回セルが画像マスキングを「再レンダリング」し続け、パフォーマンスが低下するためです。