ズームを有効にするにはどうすればいいですかUIScrollView
?
ベストアンサー1
答えはここ:
スクロール ビューは、コンテンツのズームとパンも処理します。ユーザーがピンチインまたはピンチアウト ジェスチャを行うと、スクロール ビューはコンテンツのオフセットとスケールを調整します。ジェスチャが終了すると、コンテンツ ビューを管理するオブジェクトは、必要に応じてコンテンツのサブビューを更新する必要があります (ジェスチャが終了しても指がまだ押されている可能性があることに注意してください)。ジェスチャが進行中の場合、スクロール ビューはサブビューに追跡呼び出しを送信しません。
UIScrollView クラスには、UIScrollViewDelegate プロトコルを採用する必要があるデリゲートを含めることができます。ズームとパンが機能するには、デリゲートが viewForZoomingInScrollView: と scrollViewDidEndZooming:withView:atScale: の両方を実装する必要があります。さらに、最大 (maximumZoomScale) と最小 (minimumZoomScale) のズーム スケールが異なる必要があります。
それで:
- インスタンスに実装され
UIScrollViewDelegate
、設定されているデリゲートが必要ですdelegate
UIScrollView
- デリゲートでは、1つのメソッドを実装する必要があります
viewForZoomingInScrollView:
:(ズームしたいコンテンツビューを返す必要があります)。scrollViewDidEndZooming:withView:atScale:
オプションで実装することもできます。 - インスタンスでは、と を異なる値に
UIScrollView
設定する必要があります(デフォルトでは 1.0 です)。minimumZoomScale
maximumZoomScale
注記:興味深いのは、もしあなたが壊すnil
ズーム。メソッドでreturn するだけで十分でしょうかviewForZooming...
? ズームは解除されますが、一部のジェスチャがおかしくなります (2 本の指の場合)。したがって、ズームを解除するには、最小および最大のズーム スケールを 1.0 に設定する必要があります。