WWDC2010セッション104 10000 x 8078 pxイメージの場合、UIScrollView
内にCATiledLayerを作成しました。CATiledLayerが正しくないフレーム&contextCTM.a値(zoomScale)を取得しました
ビューは、セッション104で私はCGFloat lScale = CGContextGetCTM(lContext).a;
を呼び出して、私のdrawRectで4
levelsOfDetail
をそのトップレベル
- で最初のショーに定義されるようにするとき、私はフレーム&
zoomScale
で困っています実行時にlScaleに0.124907158が割り当てられますが、予想通り0.125には割り当てられません。
同様
drawRect
に渡さrect
は、- rect.origin.x = 4099.04443
- rect.origin.y = 6144
- rect.size.width = 2049.52222としてfloatpoint値を有します
- rect.size.height = 2048
私のためにほとんど刺激性のそのフレームであります私が0x30の原点を使用して
initWithFrame
を使用してtiledImageViewを作成したにもかかわらず、は原点0 x 26.93を示しています。私はこれに責任がある計算を見つけることができる任意のアイデアですか?
EDIT: IはScrollViewの境界が誤って450ピクセルに設定されている奇妙なフレーム位置、のソースを発見しました。それは420ピクセルでなければなりません。 UIScrollViewのlayoutSubviewルーチンには、誤ってy座標を調整した中心ビュールーチンがあります。
私は何時間も苦労してきた問題を解決しました。 :-)私は完璧に動作するCATiledLayerを持っていましたが、位置(フレーム)を変更しようとすると、スケール値が突然変化しました。 0.5〜0.49756である。私はあなたのソリューションを試して、CATiledLayerの幅と高さを丸めました。あなた自身が見つけたソリューションを共有してくれてありがとう。 :-) –
さて、問題は修正されましたが、別のものが導入されました。 UIScrollViewをズームインすると、UIScrollViewに対してCATiledLayerのサイズが正しくないことがわかります。 CATiledLayerはUIScrollViewを完全に埋めていないので、右端と下端が黒くなり、UIScrollViewの背景色を見ることができるので、これを見ることができます。それは、場合によっては大丈夫かもしれませんが、残念ながら私の中にはありません。おそらくスケール自体を丸めて、別のものを試してみる必要があります。 –