1

我正在使用 Apple PhotoScroller 示例中的 TilingView 来平铺一些图像。这适用于我的大多数图像,但我有一些奇怪的比例值。我将细节级别设置为 4。我的图像都以不同的值缩放,100、50、25、12.5 比例然后在这些级别平铺 256x256。

在 TilingView drawRect 方法中,我在这里得到的比例必须是 4 个值之一,通常是 1.0,0.50,0.25,0.125。因为当我得到一个奇怪的比例值时,我会根据这些比例值存储我的图像,所以它会中断并且无法加载图像。例如,我有一个 0.50 比例的图像,我得到的实际值为 0.499798。

有什么想法吗?如果我告诉 CATiledLayer 有 4 个细节级别,我怎么会得到这些奇怪的值?

CGFloat scale = CGContextGetCTM(context).a;
NSLog(@"scale = %f",scale);
CATiledLayer *tiledLayer = (CATiledLayer *)[self layer];
CGSize tileSize = tiledLayer.tileSize;

对于我指定的任何图像尺寸,我如何确保我通过的图像尺寸实际上会返回 4 个比例 100、50、25、12、5 之一?

4

1 回答 1

1

该示例的代码中有几个错误,其中一个涉及对这些比例值进行适当的舍入,这会导致您看到的问题。但也有其他微妙的问题。请查看这个问题,其中更详细地描述了这些问题(和修复)。

于 2013-10-06T21:28:57.977 回答