UIScrollView
OK、この問題についてインターネット上に公式の場所を作る時が来たと思います:ページングとズームを備えたフォトビューアーの作り方。私の仲間のUIScrollView
ハッカーを歓迎します。
UIScrollView
ページングを有効にして、組み込みの写真アプリのように表示しUIImageViews
ています。(これはまだ聞き覚えがありますか?)
github で次のプロジェクトを見つけました。
https://github.com/andreyvit/ScrollingMadness/wiki
ページングが有効なときにスクロール ビューでズームを実装する方法を示します。他の誰かがこれを試した場合、実際にはUIScrollView
サブクラスを削除してネイティブ クラスを使用する必要がありました。そうしないと機能しません。スクロール ビューがタッチ イベントをインターセプトする方法に関連する 3.0 SDK の変更が原因だと思います。
したがって、ズームを開始するときに他のすべてのビューを削除し、現在のビューを の (0, 0) に移動して、などscrollview
を更新するというcontentsize
考え方です。次に、ズームを 1.0f に戻すと、他のビューが追加されて戻されます。物事はすべて元に戻ります。
とにかく、そのプロジェクトはシミュレーターで完全に機能しますが、デバイスでは、サイズ変更中のビューの厄介な動きがあります。これは、サイズ変更中のビューのcontentsize
/offset
などを変更していることが原因のようです。このビューを移動する必要があります。そうしないと、他のビューによって残された空白を左にパンできます。
3.0 SDK リリース ノートの「既知の問題」に興味深いメモが 1 つ見つかりました。
UIScrollView: ズーム後、コンテンツ インセットが無視され、コンテンツが間違った位置に残る。
この種の音は、ここで起こっていることのように聞こえます。ズームインすると、オフセットなどを変更したため、ビューが画面外に移動します。
私はすでにこれに何時間も費やしてきましたが、これがうまくいかないという悲しいことに気付くのが遅くなりました.
Three20 のフォト ビューアーは論外です。重量が重すぎて、不要な UI やその他の動作が多すぎます。
組み込みの写真アプリは魔法のようです。画像をズームインして端までパンすると、現在の写真が隣の写真とは独立して移動しますが、これを標準で試した場合とは異なりますUIScrollView
。
の入れ子についての議論を見てきましUIScrollView
たが、本当に行きたくありません。
これを標準で管理した人はいますかUIScrollView
(そして 2.2 および 3.0 SDK で動作します)? 独自のズーム + バウンス + パン + ページング コードをローリングするのは好きではありません。