私はアプリを作成していますが、すべてがスムーズになりますが、デバイスを横向きに回転すると、画像は中央に配置されず、見た目には見えません。明らかにこれを修正する方法があります。どんなヒントも高く評価されます。前もって感謝します。ポートレートモードからランドスケープモードに切り替えると、画面上の画像がうまく配置されませんか?
0
A
答えて
1
ビューを定義するためにNIBファイルを使用している場合、すべてのオブジェクトは長さと幅のディメンションを持つ特定の(X、Y)座標にハードコードされています。
向きを変更すると、同じ座標と寸法が適用されます。
これを変更するには、あなたの意見に最も適した任意のものにプログラムで座標を変更する必要があります。
私のアプリケーションのいずれかから、いくつかのコード例:ここでは
#pragma mark -
#pragma mark Orientation Support
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation) && self.portraitMode) {
adView.currentContentSizeIdentifier = (&ADBannerContentSizeIdentifierPortrait != nil) ?
ADBannerContentSizeIdentifierLandscape : ADBannerContentSizeIdentifier480x32;
if (self.bannerIsVisible)
adView.frame = CGRectMake(0, 268, 480, 12);
else
adView.frame = CGRectMake(0, 318, 480, 32);
backgroundImage.frame = CGRectMake(-30, -170, 700, 500);
bottleImage.frame = CGRectMake(200, 30, 240, 240);
searchBox.frame = CGRectMake(57, 48, 120, 31);
pingButton.frame = CGRectMake(50, 100, 133, 66);
infoButton.frame = CGRectMake(444, 232, 18, 19);
self.portraitMode = NO;
} else if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation) && !(self.portraitMode)) {
adView.currentContentSizeIdentifier = (&ADBannerContentSizeIdentifierPortrait != nil) ?
ADBannerContentSizeIdentifierPortrait : ADBannerContentSizeIdentifier320x50;
if (self.bannerIsVisible)
adView.frame = CGRectMake(0, 410, 320, 50);
else
adView.frame = CGRectMake(0, 460, 320, 50);
backgroundImage.frame = CGRectMake(-190, -40, 700, 500);
bottleImage.frame = CGRectMake(40, 165, 240, 240);
searchBox.frame = CGRectMake(99, 56, 120, 31);
pingButton.frame = CGRectMake(92, 99, 133, 66);
infoButton.frame = CGRectMake(282, 374, 18, 19);
self.portraitMode = YES;
}
}
は、座標系上のいくつかのリンゴのドキュメントです:
が、これは、歓声を役に立てば幸い!
関連する問題
- 1. レイアウトをポートレートモードからランドスケープモードに切り替えるときの問題
- 2. jQueryがテキストと画像を切り替えません。
- 3. 画像が最下部に配置されると画像が上から切れる
- 4. スウィフト画像全画面表示の切り替え
- 5. ポートレートモードからランドスケープモードに変更すると、timePickerが保存されません。
- 6. 回転から切り取った画像をポートレートモードからランドスケープモードにスクロールする方法
- 7. さまざまな画面幅を切り替えるモバイルスタイルシート
- 8. Jqueryが画像を切り替える
- 9. 画像ソースを切り替えることができません
- 10. ページを切り替えるときに白い画面がちらつく
- 11. 2つの画像の切り替え時の切り替え
- 12. 画像を切り替えるには
- 13. IOSでの画面切り替え
- 14. 画像が画面上のマウスカーソル位置(WPF画像制御)から
- 15. OpenLayers - 検出全画面、通常画面の切り替え
- 16. アプリケーションの画像を切り替える
- 17. 画像の幅を切り替える
- 18. 高さ/幅がピクセルからパーセンテージに切り替わると画像が消えますか?
- 19. エラー切り替え画面Java FX FXL
- 20. Javascript:同じ位置に画像を切り替える
- 21. タッチスクリーン上でドラッグして画面を切り替える
- 22. ポートレートモードとランドスケープモードのスプラッシュ画像を設定する - IPad
- 23. 画面に画像を配置する
- 24. CSSの白黒から黒への画像の切り替え
- 25. ジャンボトロン画像が中央に配置されていません
- 26. キャンバスで画像を切り替える
- 27. オーバーフローで画像を切り替える
- 28. 画像の上にカーソルを置くと大きくなりません
- 29. テーブルは画面中央に配置され、画面上で反応します
- 30. Androidでは、画面を切り替えるとGPSデータが失われます
ありがとうございました!それを撃つだろう。 – Gmenfan83