ユーザーがまだスクロールしている間、UIScrollViewに関するcontentOffsetまたは同様の情報を取得するにはどうすればよいでしょうか?たとえば、UIWebViewのコンテンツのすぐ上にヘッダーとしてイメージを配置したい場合、イメージはWebViewのscrollViewの一部ではなく、ユーザーがスクロールしている間に更新されず、放した後にその位置にジャンプするだけではありません。これをどうやってやることができますか?UIScrollViewのmid-scrollのcontentOffsetを取得するにはどうすればよいですか?
答えて
iOS 5では、UIWebView
はscrollView
というプロパティを持ちます。このプロパティはスクロールの処理に責任がありますUIScrollView
です。 iOS 5以前には[subview isKindOfClass:[UIScrollView class]]
を使用してサブビューのUIWebView
のサブビュープロパティを検索することができます。
UIScrollView
を取得したら、そのデリゲートプロパティを設定できます。デリゲートでは、ユーザーがスクロールしたときにscrollViewDidScroll:
メッセージに応答し、ヘッダービューの位置/内容を更新できます。
追加:2012/02/29 - UIWebView
の機能を維持するために、傍受されたUIScrollViewDelegate
メソッドをUIWebView
に転送する必要があります。これを行うには、プロトコル内のすべての必須メソッドの最後にUIWebViewを呼び出し、任意のプロトコルメソッドに対してforwardInvocation:
またはforwardingTargetForSelector
のようなものを実装します。これにより、オリジナルのUIWebView
の動作が維持され、独自のロジックで強化することができます。
UIWebView
の上に別の見出しとしてヘッダーを挿入できないのはなぜですか?なぜそれはサブビューでなければならないのですか?
これはありません。私はあなたがどこからそれを得ているのか分かりません。 – Greg
- 1. ピンチジェスチャーの座標を標準のUIScrollViewから取得するにはどうすればよいですか?
- 2. UIScrollViewで現在のズームレベルを取得するにはどうすればよいですか?
- 3. マルチビューアプリケーションでUIScrollViewを使用するにはどうすればよいですか?
- 4. UIScrollViewズームバウンスをキャンセルするにはどうすればよいですか?
- 5. Swiftの別のビューからcontentOffsetを呼び出すにはどうすればよいですか?
- 6. uiscrollviewでuiimageviewのようなuiviewのサイズを変更するにはどうすればよいですか?
- 7. ウェブサイトのアイコンを取得するにはどうすればよいですか?
- 8. オーバーレイオブジェクトのイベントハンドラを取得するにはどうすればよいですか?
- 9. s3のレイテンシービューを取得するにはどうすればよいですか?
- 10. リダイレクトページのページコンテンツを取得するにはどうすればよいですか?
- 11. チェックインコードのみを取得するにはどうすればよいですか?
- 12. VS.Phpのカラーオプションを取得するにはどうすればよいですか?
- 13. webpackのライブリロードを取得するにはどうすればよいですか?
- 14. modelmetadataのモデルを取得するにはどうすればよいですか?
- 15. リストのアドレスを取得するにはどうすればよいですか?
- 16. デスクトップウィンドウのハンドルを取得するにはどうすればよいですか?
- 17. LinkedHashMapのkeyIteratorを取得するにはどうすればよいですか?
- 18. ツイートのURLを取得するにはどうすればよいですか?
- 19. ユーザーグループのスピーカーを取得するにはどうすればよいですか?
- 20. このボタンレイアウトを取得するにはどうすればよいですか?
- 21. nightwatchjsのスクリーンショットを取得するにはどうすればよいですか?
- 22. StackExchange.Redisのキーカウントを取得するにはどうすればよいですか?
- 23. モバイルネットワークのステータスを取得するにはどうすればよいですか?
- 24. カスタムオープングラフオブジェクトのカスタムプロパティを取得するにはどうすればよいですか?
- 25. iframeのソースを取得するにはどうすればよいですか?
- 26. DynamicControlの値を取得するにはどうすればよいですか?
- 27. コンパニオンオブジェクトのScalaSigを取得するにはどうすればよいですか?
- 28. Java:org.w3c.dom.Nodeのxpathを取得するにはどうすればよいですか?
- 29. モデルフォームボタンのクリックイベントを取得するにはどうすればよいですか?
- 30. テンプレートテンプレートパラメータのテンプレートパラメータを取得するにはどうすればよいですか?
これを実装すると、記述したようにcontentOffsetを取得できますが、ズーミングが乱れてしまいます。私は "webview.scrollView.delegate = self;"とコメントしました。ズーミングを固定した。何か案は? – Greg
@Greg私が答えて言ったように、あなたは 'UIWebView'でこれを行うことはできません。 'UIWebView'の' UIScrollView'の代理人として自分自身を設定すると、 'UIWebView'を踏んでいます。それはできません。 –
次に、必要な作業を行った後、すべてのデリゲートコールをwebviewに転送します。私。自己をデリゲートとして保持し、デリゲートメソッドで同じメッセージとパラメータをwebviewに送信します。 – ikuramedia