Учитывая UIImage и a CGRect, какой наиболее эффективный способ (в памяти и времени) нарисовать часть изображения, соответствующую CGRect (без масштабирования)?
Для справки, вот как я это делаю сейчас:
- (void)drawRect:(CGRect)rect {
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGRect frameRect = CGRectMake(frameOrigin.x + rect.origin.x, frameOrigin.y + rect.origin.y, rect.size.width, rect.size.height);    
    CGImageRef imageRef = CGImageCreateWithImageInRect(image_.CGImage, frameRect);
    CGContextTranslateCTM(context, 0, rect.size.height);
    CGContextScaleCTM(context, 1.0, -1.0);
    CGContextDrawImage(context, rect, imageRef);
    CGImageRelease(imageRef);
}
К сожалению, это кажется очень медленным с изображениями среднего размера и высокой частотой setNeedsDisplay. Игра с рамкой UIImageView и clipToBounds дает лучшие результаты (с меньшей гибкостью).
