iPhoneの縦向きに設定されたCGPointを持っています。 iPhoneがランドスケープに移動するときに、画面の端に比例してその位置を維持するように、このポイントをどのように変換できますか?そしてもう一度?デバイスの向きに応じてCGPointを移動する
0
A
答えて
-1
(のUIViewControllerのドキュメントでそれを確認してください)インスタンス変数あなたのするCGPointを作成し、このメソッドを上書き:
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration
あなたはそれが比例どのようにするために新しいポイントを計算するためにいくつかのコードが必要になります欲しいです。
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
if ((self.interfaceOrientation == UIInterfaceOrientationPortrait) || (self.interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)) {
myPoint = CGPointMake(320/460*myPoint.x, 460/320*myPoint.y);
}
else {
myPoint = CGPointMake(460/320*myPoint.x, 320/460*myPoint.y);
}
}
0
このヘルパーメソッド試してみてください。私はあなたが画面の端に比例」によって何を意味するかは非常にわからないようあなたは、あなたが望むもののためにそれぞれの場合の値を微調整する必要がある場合があり
- (CGPoint)adjustTouch:(CGPoint)aTouch forOrientation:(UIInterfaceOrientation)aOrientation; {
CGPoint touchLocation = CGPointZero;
switch (aOrientation) {
case UIInterfaceOrientationPortrait:
touchLocation = aTouch;
break;
case UIInterfaceOrientationPortraitUpsideDown:
touchLocation.x = aTouch.x;
touchLocation.y = 480 - aTouch.y;
break;
case UIInterfaceOrientationLandscapeLeft:
touchLocation.x = aTouch.y;
touchLocation.y = aTouch.x;
break;
case UIInterfaceOrientationLandscapeRight:
touchLocation.x = 480 - aTouch.y;
touchLocation.y = 320 - aTouch.x;
break;
default:
break;
}
return touchLocation;
}
を"しかし、これはあなたがそれを理解するのに役立つはずです。それが助けてくれることを願って!あなたのビューコントローラで
関連する問題
- 1. デバイスの向きに応じて画像を変更する
- 2. 移動方向に応じてUIImageViewを回転させます
- 3. UITextViewカーソルをCGPointに移動
- 4. Unity C#デバイスの移動方向のキャプチャ
- 5. ウィンドウサイズに応じてHTML divを動的に移動する
- 6. テンプレートを画面の向きに応じて動的に変更するionic v1
- 7. 使用するデバイスに応じてNginxの動的ロケーション
- 8. iPad:向きに応じてapplicationDidFinishLaunching中にフルスクリーンイメージを追加する
- 9. ovrコントローラに応じてうるうモーションコントローラを移動する
- 10. 向きに応じてスタイルを変更する
- 11. Xamarin.Forms画面の向きやサイズに応じた動的レイアウト
- 12. UIViewPropertyAnimatorパン方向に応じてアニメーションを動かします
- 13. 予測テキストに応じてテキストビューを移動する
- 14. AndroidでACCELEROMETERを使用してデバイスの移動方向を検出する
- 15. ファイル名の数字に応じてファイルを移動します
- 16. C#で名前に応じてファイルを移動して置き換えます
- 17. MSChart軸がテキストサイズに応じて移動する
- 18. XCode 8 - 向きに応じて制約を変更します
- 19. スウィフトデバイスの向きに応じて制約を変更
- 20. C#の列の値に応じて次の行に移動
- 21. 携帯電話のウェブサイトのバージョンがデバイスの画面の向きに応じて壊れます
- 22. スプリットバックグラウンド - パネルの展開に応じて移動を停止
- 23. 移動方向に対する電話の向きを検出する方法
- 24. UIViewはデバイスに応じて同じサイズを返します
- 25. xcodeでデバイスの動きに基づいてビューを移動する方法
- 26. 条件に応じてテーブルから複数のテーブルにデータを移動する
- 27. Xcodeの制約8 - デバイスに応じてオブジェクトを拡大する
- 28. 現在のデバイスに応じてtwig値を設定する
- 29. 移動中のプレーヤーに向かって敵を移動する方法は?
- 30. 垂直方向にスクロールするときにDIVを水平方向に移動
おかげでキースが、私は助けることはできませんが、私はあなたが持つになっているか見て、これは動作するはずだと思う:ステータスバーを可能に、私は(私の数学を推定することは大丈夫です)、これは何が必要だと思います数学、しかしそれはしません。ポイントは、回転すると画面外にプロットされます。 – Skybird
こんにちはキース、私は、間違った方向を確認していました。あなたのコードは動作し、私はあなたの答えを正しいものとしてマークしました - 歓声、そしてありがとう。 – Skybird
ようこそ。 –