0

ダブルタップでPNG画像をズームインおよびズームアウトするUIScrollviewがあります。設定方法では、UIGraphicsBeginImageContext / UIGraphicsEndImageContextを使用してPNG画像の複数のサイズをいくつか作成し、すべてのUIImageをNSMutableArrayに保存します。次に、UIImageViewの画像を現在のズームレベルに基づいて正しいUIImageに交換することにより、画面に正しい画像を表示します(元の画像だけを拡大縮小するのではなく、常にアンチエイリアス処理された画像を表示するためにこれを行います)。

私が抱えている問題は、画像が以前に表示されていない画像に初めてスワップされるときに、わずかなスタッターが発生することです。初めての場合は、一日中ズームインとズームアウトが可能で、途切れることはありません。ここここで提案された解決策を試しましたが、問題は解決しませんでした。

現在、0.01秒後に画像をスワップし、その間に保留中のスワップ要求をキャンセルすることで回避策を見つけました。これは問題なく動作しますが、確実な修正ではありません。明らかに、画像が最初に表示された後に準備ができているので、画像を準備完了状態にする方法が必要です。私を助けてください!

4

1 に答える 1

1

実際には、さまざまなサイズの png を作成する必要はありません。あなたが持つべきものは、元のPNGを画像として持つスクロールビュー内のUIImageViewです。次に、これを .m ファイルに追加します (ヘッダー ファイルに含まれていることを確認してください。

-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{ return theImageView; }

これを行うことで、最大ズームスケールと最小ズームスケールを設定することもできます:

[scrollview setMinimumZoomScale:0.5];//will be half size
[scrollview setMaximumZoomScale:3.0];//will be 3X

上記を行うと、ピンチズームが自動的に設定されます。次に、ダブルタップをリッスンするようにコーディングして、これを行うように指示するだけです。

[scrollview setZoomScale:1.0 animated:YES];//returns it back to original size

これがお役に立てば幸いです - あなたが探していた効果でない場合はお知らせください.

乾杯、

マイケル

于 2011-04-13T08:43:25.800 に答える