UIScrollView
WWDC2010 セッション 104 に続いて、10000 x 8078 ピクセルの画像用にCATiledLayer を作成しました。
フレームに問題があります &zoomScale
ビューが最初に最上位に表示されるとき
- セッション104のように、私
levelsOfDetail
は4と定義しました - 私の drawRect で私が呼び出す
CGFloat lScale = CGContextGetCTM(lContext).a;
不思議なことに、実行時に lScale には 0.124907158 が割り当てられます。予想される 0.125 ではありません。
同様に、rect
渡されるにdrawRect
は、次のような浮動小数点値があります。
- rect.origin.x = 4099.04443
- rect.origin.y = 6144
- rect.size.width = 2049.52222
- rect.size.height = 2048
私にとって最もイライラするのは、0x0 原点を使用しCATiledLayer
て tiledImageView を作成したにもかかわらず、フレームが原点 0 x 26.93 を示していることです。initWithFrame
これの原因となる計算を見つけることができるアイデアはありますか?
編集: 奇妙なフレーム位置のソースが見つかりました。これは、ScrollView の境界が 450 px に誤って設定されていることです。420 ピクセルにする必要があります。UIScrollView の layoutSubview ルーチンには、誤って y 座標を調整するセンター ビュー ルーチンがあります。