【发布时间】:2010-07-26 18:38:35
【问题描述】:
在来自 WWDC 2010 的 iPhone 示例代码“PhotoScroller”中,他们展示了如何通过滚动、缩放和分页来很好地模仿照片应用程序。他们还平铺图像以展示如何显示高分辨率图像并保持良好的性能。
在示例代码中通过抓取不同分辨率的预缩放和剪切图像并将它们放置在构成整个图像的网格中来实现平铺。
我的问题是:有没有一种方法可以平铺图像而无需手动浏览所有照片并创建“平铺”?照片应用程序如何能够即时显示大图像?
编辑 以下是 Deepa 回答的代码:
- (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;
}
【问题讨论】:
标签: iphone objective-c image uiscrollview tiles