2017-11-24 7 views
-3

ゲームをさまざまなデバイスでテストし始めました。 iPhone 8 Plus以外のすべてのデバイスは正常に動作します。他のデバイスやSimulator(シミュレートされたiPhone 8 Plusでも)では、ボタンは表示されますが、iPhone 8 Plusでは表示されません。私はこれがなぜ起こっているのか分からない。iPhone 8 Plusでボタンが表示されない

第1の図はSimulator 8 Plusの画面を示し、第2の図はデバイスの画面を示しています。私はその問題の原因を見つけ、右方向に私を指摘V12へ

proceedButton = [[SelectionButton alloc] initWithFrame:CGRectMake([[UIScreen mainScreen] bounds].size.width/2.0 - 60.00, [[ScreenSize sharedSize] yValue] + 10.0 + [[ScreenSize sharedSize] gameFieldSize], 120.0, [[ScreenSize sharedSize] opButtonSize]) andText:NSLocalizedString(@"DONEKey", @"Done")]; 
[proceedButton addTarget:self action:@selector(createPlayer) forControlEvents:UIControlEventTouchUpInside]; 
[proceedButton addTarget:self action:@selector(changePathColor:) forControlEvents:UIControlEventTouchDown]; 
[self.view addSubview:proceedButton]; 

On Simulator

On device

+0

は、なぜあなたは、自動レイアウトでは動作しないのですか? – LinusGeffarth

+0

私はほぼ2年前にプロジェクトを開始し、それを使用しませんでした。今私は13K文字のコードを持っています。私はそれを変えるのは良い考えだとは思わない。それが理由だと思いますか?しかし、それはシミュレータで動作します。 – Palindrome

+1

シミュレータと実機の両方でフレーム値を印刷しましたか?私はあなたの質問の中にフレームのコンソールを追加する必要があると思う。 – Rivendell

答えて

0

ありがとう:

は、ここでは、コードです。

問題はその

CGSize screenSize = [[UIScreen mainScreen] bounds].size; 

CGSize screenSize = [[UIScreen mainScreen] nativeBounds].size; 

にあったが二つの異なるものです。

まず、私はSimulatorで実際のデバイスで動作しなかった理由を理解できませんでした。しかし、私がデバイスとSimulatorの両方のフレーム値を印刷したとき、Simulatorの値はiPhone 6,7,8の値と同じで、実際のiPhone 8 Plusの値は2201に等しいことに気付きました。

This link helped a lot, especially some of the comments

関連する問題