問題タブ [uiscrollviewdelegate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
17794 参照

ios - scrollViewWillEndDragging:withVelocity:targetContentOffset:UISCrollViewのエッジで機能していません

スクロール可能で、各タブバーアイテムにページングがあるカスタムタブバーを実装しようとしています。そのために、デリゲートscrollViewWillEndDragging:withVelocity:targetContentOffset:を使用しています。これは1つの問題で完全に機能します。

私のページングの仕組みは、contentOffsetが適切なアイテムの近くにある場合、targetContentOffsetがそのアイテムのオフセットに変更されることです。左側も同じです。

問題は、最初のアイテムの左半分と最後のアイテムの右半分にいるときはいつでも(スクロールビューは水平方向に機能します)、ContentOffset 0と右端のアイテムのコンテンツオフセット(上のアイテムを除く)に移動することになっていることです。画面)、しかし、そうではありません。

デバッガーで確認したところ、targetContentOffset-> xは実際に0です(最初のケースでは、左端の項目の左側)。したがって、問題はUIScrollViewがそこでスクロールしないことです。道に迷いました。

これが私の実装されたデリゲートです:

これが私がやりたいことを説明する図です。

0 投票する
3 に答える
10757 参照

ios5 - iOS。UIScrollview のスクロールを制限するにはどうすればよいですか?

UIScrollView の左/右スクロールに制限を設定する最良の方法は何ですか? これは簡単だと思っていましたが、私の試みはすべて失敗しました。

したがって、明確にするために、アプリの使用中に必要なときにいつでもスクロール範囲をプログラムで制限できるソリューションが必要です。これは、ほとんどの場合、表示されているデータの変更に対応しています。

ありがとう、
ダグ

0 投票する
2 に答える
1587 参照

iphone - UIScrollViewズームがExc_Bad_Accessでアプリをクラッシュさせる

UIScrollViewをスクロールしようとすると、メインでExc_Bad_Accessエラーが発生します。このプログラムは簡単です。AppDelegateにUIViewControllerを追加しました。次に、ViewControllerのコードを示します。これはスクロールには問題なく機能しますが、追加するとすぐにtmpScrollView.delegate = self。プログラムはスクロールまたはズームせず、ズームしようとするとExc_Bad_Accessエラーが発生します。

助けてくれてありがとう。これは私を1日夢中にさせています...

編集:centerScrollViewContensも追加します:

0 投票する
2 に答える
401 参照

iphone - ズーム後にUIScrollViewで画像を設定できません

私はImageScrollView画像を表示するために使用します。最初は小さな画像のみを示します。ユーザーがズームしようとすると、大きな画像が読み込まれます。最初に、このコードを使用してこれを実行したかった:

しかし、それは奇妙に機能します。ズームしようとすると、大きな画像が表示されますが、最大ズームスケールが表示され、スクロールして画像の残りの部分を見ることができません。しかし、画像をスクロールする代わりにもう一度ズームすると、正しく機能し始め、最終的に画像をスクロールできます。しかし、そのためには2倍ズームする必要があります。

scrollViewDidEndZooming次に、代わりに試しましたscrollViewWillBeginZooming

そして、1 つのことを除いて、すべてが完璧になりました。手遅れです。小さな画像をズームすると、ズームされたバリアントが表示され、次に大きな画像がロードされ、大きな画像の最小ズームが表示されます。ユーザーにとっては、その画像は以前のズームに戻ったようです。もう一度ズームしようとすると、完全にズームできます。

前もって感謝します!

ImageScrollView のコードは次のとおりです。

0 投票する
0 に答える
314 参照

iphone - UIScrollView ズームの問題

私はUIScrollViewを持っています。画像をズームするときは、最初に小さな画像を表示し、次に大きな画像を表示する必要があります。このコードを使用すると、すべて問題ありません。

ImageView のサイズ = 画像のサイズ (つまり、画像が小さい場合は小さい画像のサイズ、画像が大きい場合は - 大きい画像のサイズ) scrollView の ContentSize = imageView のサイズ。

しかし、このコードを使用すると(ズームしようとすると大きな画像が表示されますが、最大ズームスケールが表示され、スクロールして画像の残りの部分を見ることができません。しかし、代わりにもう一度ズームすると画像をスクロールすると、適切に動作し始め、最終的に画像をスクロールできます.しかし、そのためには2倍ズームする必要があります):

scrollViewWillBeginZooming で正しく動作しないのはなぜですか? ズームする前に大きな画像を設定する必要がありますが、後で設定する必要はありません。

0 投票する
3 に答える
2151 参照

ios - UIScrollViewDelegate がメソッドを起動しない

UIScrollView を持つビューがあり、いくつかのテキスト (JSON 経由で読み込まれます) があります。ユーザーがスクロールの最後に到達したことを検出する必要があります (ここで他の質問を見ました)。

私の.hファイルで、それを.mファイルで合成しました。私はこれをviewDidLoadに持っています:

接続は Interface Builder で行われます (UIScrollView を使用した IBOutlet の「スクロール」など)。

その後、JSON への呼び出しで UITextView を満たし、scrollView に関連しない他のことを行います。次に、メソッド scrollViewDidScroll を実装しました。しかし、それは決して呼び出されません。スクロールは正常に機能し、上下に移動してテキスト全体を表示できます。しかし、プロトコルのメソッドが呼び出されない理由は何ですか?

ありがとうございました。

0 投票する
3 に答える
1492 参照

ios - UIScrollView で突然のスクロール停止を検出する

UIScrollViewDelegate速いパンから勢いが始まった後、ユーザーが画面に触れて保持したために、スクロールビューの動きが突然停止したことを検出するためにを使用する方法を知りたいです。

このscrollViewDidEndDecelerating:メソッドは、ユーザーが指を離したときにのみ上記のケースで起動します。ただし、ユーザーがスクロール ビューの勢いの間にタップ アンド ホールドした場合、このメソッドは起動しません (ユーザーが指を離すまで)。ユーザーのタッチダウンでスクロールビューが停止したときに、これを傍受する方法はありますか?

0 投票する
2 に答える
539 参照

iphone - UIScrollviewサブビューは、列挙されたときに誤ったフレームを表示します

こんにちはみんな私は私の頭を動かすことができない問題を抱えています。

私はこの問題を独自のプロジェクトに分解しましたが、それでも再現できます。

30個のuibuttonがレイアウトされたスクロールビューがあります。(例えば)

サブビューを列挙してフレームをログに記録すると、奇数のフレームには予期しないフレームが含まれます。

これは、ビューが画面に描画された後でも発生します

例えば

ViewDidLoad

ログ:

2012-07-04 15:46:02.939バグスクローラー[2182:707] {{29、647}、{72、37}}

2012-07-04 15:46:02.946バグスクローラー[2182:707] {{119、647}、{72、37}}

2012-07-04 15:46:02.950バグスクローラー[2182:707] {{219、647}、{72、37}}

2012-07-04 15:46:02.954バグスクローラー[2182:707] {{313、453}、{7、7}}

ご覧のとおり、下部のログには、フレームの原点とサイズが完全に正しくありません。

奇妙なことに、ビューのサイズが何であれ、私は常に7のサイズになるようです。

これは再現可能に見えますが、画面には表示されません

ここで何が起こっているのですか、どうすればそれが起こらないようにすることができますか?

ありがとうダン

0 投票する
1 に答える
224 参照

ios - UIScrollViewの最大/最小ズームで画面の再描画を防止する

私のアプリには、比較的高価な画面の再描画があります。元の形式では、UIScrollview の最小ズームを 100% に設定し、最大ズームを 400% のスケーリングに設定し、scrollViewDidEndZooming で画面を再描画しました。

私たちのテスターは、ユーザーが最小ズーム レベルまたは最大ズーム レベルを超えてピンチし続けると、コストのかかる再描画がバックグラウンドで発生しているため、画面がまだ点滅するというバグを書き留めました。

スケーリングが実際に変更されたかどうかを (scrollViewDidEndZooming で) チェックすることでこれを修正しようとし、変更された場合にのみコンテンツの更新を行いました。

ただし、これにより新しい問題が発生しました。ユーザーが (たとえば) 100% で開始し、1 つのジェスチャで 400% までピンチし、その後 100% に戻ると、コンテンツが少しぼやけてしまいます。これは、私の最適化では、スケーリングが 100% で開始および終了したため、「変更されていない」と見なされるためです。しかし実際には、ビューが拡大縮小されるため、ぼやけが生じます。

通常、ビューがこれらの遷移スケーリングを通過したときにフラグなどを設定するだけですが、 UIScrollView はそのようなフックを提供していないように見えます-スクロールを開始および終了するためのフックのみです。

私がやろうとしていることを達成する方法はありますか?自分のジェスチャ認識エンジンをロールアップし、UIScrollview のものを放棄する以外に、やり過ぎに思える方法はありますか?

編集:他の人がこれに遭遇していないことに驚いています(または、少なくとも対処方法について応答していません)。比較的高価な再描画を行うアプリは、「前」の動作または「後」の動作のいずれかに遭遇するようですが、どちらも高価な再描画の状況では理想的ではありません。考え?

0 投票する
1 に答える
104 参照

iphone - UIScrollviewで、uiscrollviewデリゲートリストから特定のデリゲートを制限します

利用可能なUIScrollviewデリゲートリストのリストから。選択的なuiscrollviewデリゲート関数を制限したい:

コンパイラによる呼び出しを制限したい。これを達成できますか。任意の提案とヘルプは大歓迎です!