【问题标题】:iOS CATiledLayer and TilingView scale problems?iOS CATiledLayer 和 TilingView 缩放问题?
【发布时间】:2013-10-06 17:57:03
【问题描述】:

我正在使用 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 之一?

【问题讨论】:

    标签: ios image scale catiledlayer


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-13
      • 2018-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多