Я внедряю CATiledLayer
в UIScrollView
. В CATiledLayer
у меня есть функция для рисования слоев следующим образом:
- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx {
CGContextTranslateCTM(ctx, 0.0f, 0.0f);
CGContextScaleCTM(ctx, 1.0f, -1.0f);
CGRect box = CGContextGetClipBoundingBox(ctx);
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"urlhere"]];
UIImage *image = [[UIImage alloc] initWithData:data];
CGContextDrawImage(ctx, box, [image CGImage]);
[image release];
[data release];
}
Проблема в том, что при загрузке каждой плитки она блокирует загрузку других плиток. Я бы очень предпочел, чтобы эти плитки загружались параллельно. В частности, он блокирует загрузку другого элемента пользовательского интерфейса, который я не контролирую.
По сути, мне просто нужно знать, как асинхронно загружать данные в CATiledLayer
чертежном сообщении.