私には問題があります。これはiPadのためのものです。Help - UIScrollViewのCAShapeLayer(つまりパス)のスケーリング
私はUIScrollView、UIImageView、CAShapeLayer、およびCGMutablePathRefを持っています。
1-だから、私はその後、ファイルからのすべてのパスを解析された各CAShapeLayerパス、すなわちCAShapeLayer(S)に追加し、次にUIImageView
2-の画像をロードしました。
3-そして私は私は画像とパスを保持するビューを返すために以下の関数を使用することができ、ステップ3を行ったUIImageView.layerに
4-すべてCAShapeLayer(複数可)を加えました。これは、パスと画像を一緒に拡大縮小するのに役立ちます。
- (UIView *)viewForZoomingInScrollView: (UIScrollView *)scrollView
{
return myUIImageView;
}
5次に、UIImageViewをUIScrollViewに追加しました。
5,6は、その後、私は...私はtouchesBeganなどを得ることができUIScrollViewのをサブクラス化
*注:このようtouchesBeganなどのすべての私のタッチイベントは、私がCGPathContainsPointを使って、それらをクリックすると、すべてのパスを検出することができます( aLayer.path、& transf、touchPoint、NO)。また、ズーム後もビュー内をスクロールすることができ、うまく動作します。 、私がズームイン/アウトするたびに、CAShapeLayer(複数可)細かいスケールます
が、スケールされません(パスの元の座標)ようだ:
*さて問題です少なくともそれは私が信じているものです。私はこれを言っているのですが、CAShapeLayerをクリックすると応答しませんが、元の場所をクリックするか、CAShapeLayerが表示されている場所の近くをクリックすると、CAShapeLayerが応答します。
すべてのCAShapeLayerを配列に取得し、ビューから消去してもう一度追加しようとしましたが、何も変更されませんでした。私は、CAShapeLayerをUIImageViewの代わりにUIScrollViewに追加することによって、CAShapeLayerを別々に拡張しようとするなど、他のものも試しました。それから、現在適用されているスケールを取得し、それをすべてのCAShapeLayerに適用しますが、それは良い結果をもたらしませんでした。
-添付のスクリーンショットを確認してください。彼らが助けてくれることを願っています
おかげさまでお手伝いしていただければ幸いです。画像をスケーリングする前に
*:イメージをスケーリングした後 http://imageshack.us/photo/my-images/193/beforescaling.jpg/
*: http://imageshack.us/photo/my-images/818/afterscaling.jpg/
**編集:
- 電位ソリューション:
1-それは私が必要とするかもしれませんCAShapeLayerのCATransform3DIdentityを更新します。しかし、私はまだそれを行う方法を知らない。
2私はCATransform3DTranslateを使用する必要があるかもしれませんが、私はまだそれをどのように使用するのか分かりません。
こんにちは@NewUser_同じ問題に直面しているこのimの解決策を見つけましたか...この問題を掘り起こすのを助けることができます –
こんにちは、パスをスケーリングしていたとき、解決策も適切でしたか?私がズームインすると、パスの解像度が失われてしまい、ズーム付きのバーチャルを描こうとしています – anoop4real