私はユーザーがウェイポイントを手動で配置できるマップアプリケーションを持っています。ウェイポイントボタンを押して、現在表示されているコンテンツビューの中心にウェイポイントを配置したいと思います。スクロールビューで現在表示されている領域を特定し、中心を特定するにはどうすればよいですか?
1
A
答えて
2
はそれはズーム、その後、私はのサイズにオフセットコンテンツを変換することができる方法を説明するために必要フルイメージといくつかを追加します。 ///これはマップイメージのフルサイズです CGSize fullSize = CGPointMake(13900、8400);
/// determines how the current content size compares to the full size
float zoomFactor = size.width/self.contentSize.width;
/// apply the zoom factor to the content offset , this basically upscales
/// the content offset to apply to the dimensions of the full size map
float newContentOffsetX = self.contentOffset.x*zoomFactor + (self.bounds.size.width/2) *zoomFactor-300;
float newContentOffsetY = self.contentOffset.y*zoomFactor + (self.bounds.size.height/2) * zoomFactor-300;
/// not sure why i needed to subtract the 300, but the formula wasn't putting
/// the point in the exact center, subtracting 300 put it there in all situations though
CGPoint point = CGPointMake(newContentOffsetX,newContentOffsetY);
2
自分で計算する必要があるのではないかと心配です。 contentSize
は、スクロールしたコンテンツのサイズを返します。contentOffset
は、コンテンツ内にスクロールビューの起点を与えます。その後、scrollView.bounds.size
を使用すると、ビューの中心を見つけることができます。
はこれをテストしていませんが、多分あなたは、このようなあなたのスクロールマップにscrollView.center
を変換することができます:
CGPoint viewportCenterInMapCoords =
[scrollView.superview convertPoint:scrollView.center
toView:mapViewInsideScrollView];
関連する問題
- 1. 座標が現在表示されているマップ領域にあるかどうかを確認するにはどうすればよいですか?
- 2. ユーザーが現在入力しているアプリケーションを特定するにはどうすればよいですか?
- 3. 特定の領域にランダムな点のパターンをプロットするにはどうすればよいですか?
- 4. 特定の領域のみにCSSを適用するにはどうすればよいですか?
- 5. カスタムビューの特定の領域でのタッチを避けるにはどうすればよいですか?
- 6. 特定の領域でグラフの色を変更するにはどうすればいいですか?
- 7. フォームの特定の領域を印刷するにはどうすればよいですか?
- 8. WordPressページの特定の領域のCSSスタイルを変更するにはどうすればよいですか?
- 9. HTML5キャンバス内の特定の領域をクリアするにはどうすればよいですか?
- 10. アンドロイド画面の特定の領域をギャラリーに保存するにはどうすればいいですか?
- 11. 現在のAWS領域.Netを特定しますか?
- 12. 特定のページに対してpage_actionを表示させるにはどうすればよいですか?
- 13. Cocos2Dの特定の領域(スプライトでもある)内でスプライトが検出されないようにするにはどうすればよいですか?
- 14. Android Googleマップ:画面デバイスに現在表示されている領域を取得するにはどうすればよいですか?
- 15. OS Xで現在アクティブなアプリケーションをプログラムで特定するにはどうすればよいですか?
- 16. カスタムリストビューでトーストメッセージとして特定のテキストビューテキストを表示するにはどうすればよいですか?
- 17. MPMoviePlayerインスタンス内でユーザーの現在の場所を特定するにはどうすればよいですか?
- 18. 現在の場所は特定の半径で表示されています
- 19. 特定の数のdivを表示/非表示にするにはどうすればよいですか?
- 20. ユーザーログイングループに基づいてtwigテンプレートの特定の領域を非表示にするにはどうすればいいですか?
- 21. jQueryを使用して特定のJSONデータを表示するにはどうすればよいですか?
- 22. マシンがPerlで設定されている現在のタイムゾーンを特定するにはどうすればよいですか?
- 23. ImageViewをBorderPane領域の中央に固定するにはどうすればよいですか?
- 24. リーフレットで特定のズームレベルを超えてラベルを表示するにはどうすればよいですか?
- 25. 特定の領域でアクションを実行していますか?
- 26. 特定の領域でマウスがクリックされているかどうかを確認する(pygame)
- 27. ウェブページの特定のセクションをユーザーの表示ウィンドウの領域と正確に一致させるにはどうすればよいですか?
- 28. 特定のHTTPDプロセスによってどのURLが処理されているかを特定するにはどうすればよいですか?
- 29. Androidでピンチズームされているビューを特定するにはどうすればよいですか?
- 30. 特定の領域でガスの割合を検出し測定するアプリケーションを作成するにはどうすればよいですか?
ありがとうございました - あなたの答えが私に答えをもたらしたにもかかわらず、あなたが提供したコードはうまくいかなかった。この問題はズームファクタを考慮していました。 – Brodie