En el código de muestra de iPhone "PhotoScroller" de WWDC 2010, muestran cómo hacer una buena imitación de la aplicación Fotos con desplazamiento, zoom y paginación de imágenes. También colocan las imágenes en mosaico para mostrar cómo mostrar imágenes de alta resolución y mantener un buen rendimiento.¿Es posible crear un mosaico de imágenes en un UIScrollView sin tener que crear manualmente todas las teselas?
El mosaico se implementa en el código de muestra al tomar imágenes pre escaladas y cortadas para diferentes resoluciones y colocarlas en la cuadrícula que compone toda la imagen.
Mi pregunta es: ¿hay alguna manera de hacer mosaicos de imágenes sin tener que pasar manualmente por todas sus fotos y crear "mosaicos"? ¿Cómo es que la aplicación Fotos puede mostrar imágenes grandes sobre la marcha?
Editar Este es el código de la respuesta de Deepa a continuación:
- (UIImage *)tileForScale:(float)scale row:(int)row col:(int)col size:(CGSize)tileSize image:(UIImage *)inImage
{
CGRect subRect = CGRectMake(col*tileSize.width, row * tileSize.height, tileSize.width, tileSize.height);
CGImageRef tiledImage = CGImageCreateWithImageInRect([inImage CGImage], subRect);
UIImage *tileImage = [UIImage imageWithCGImage:tiledImage];
return tileImage;
}
Deepa, gracias por el código. Estoy recibiendo un montón de errores cuando intento usarlo. ¿Te importaría insertar como código para que se formatee correctamente? Es posible que esté cometiendo un error de transcripción simple. ¡Gracias! – Jonah
Guau, lo tengo funcionando. Muchas gracias. Es un poco lento sobre la marcha, pero hace lo que se supone que debe hacer. Pegaré el código en mi pregunta anterior. – Jonah
@Jonah: Esta debería ser la respuesta aceptada. – iwasrobbed