Apple PhotoScroller 예제의 TilingView를 사용하여 일부 이미지를 바둑판 식으로 배열하고 있습니다. 이것은 내 이미지의 대부분에 잘 작동하지만 몇 가지 이상한 스케일 값을 얻을. 세부 수준을 4로 설정했습니다. 이미지의 크기가 모두 다른 값으로 조정되었으므로 100,50,25,12.5 배율로 조정 한 다음 256x256 배율로 조정합니다.iOS CATiledLayer 및 TilingView 스케일 문제가 있습니까?
TilingView drawRect 메서드에서 여기에 오는 스케일은 4 개의 값 중 하나 여야하며 일반적으로 1.0,0.50,0.25,0.125입니다. 이상한 스케일 값을 얻으면 이러한 스케일 값을 기반으로 이미지를 저장하므로 이미지가 손상되어로드 할 수 없습니다. 예를 들어 .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 중 하나를 반환 할 것을 보장 할 수 있습니까?