2017-04-09 1 views
4

iPhone VのiPad:5から7 Plusに至るまで、すべてのiPhoneシミュレータで正しくスウィフトSKSpiteNode位置Iは、次のコードを使用して私のアプリのビューの左上にあるノードを配置している

health = SKSpriteNode(color: .green, size: CGSize(width: progressValue, height: 50)) 
health.position = CGPoint(x: -self.frame.width/2, y: self.frame.height/2) 

この位置、 。

しかし、どのiPadシミュレータにも表示されません。私はmidXとmidYにポジションを設定しました。上のコードでは完璧に動作しません。

私には何が欠けていますか?

ビューの倍数を使用する代わりに、iPhone v iPadのビューにノードを配置する別の方法はありますか?

+0

iPadの画面回転に問題があると思われます。あなたのiPadビューの高さと幅をチェックして、システムがそれらの値をどのように報告しているか確認しましたか? –

+0

@ScottThompsonいいえ、私はアプリのiPad互換性を決してしていないので、私はそれについてどうやって行くのか分かりません。私は、すべてのiPhoneのビューと同じように、ビューの高さ/幅に関するすべてのノードの位置を設定すると仮定しましたか? –

答えて

1

は解決:

問題は、シーンをscaleModeは、iPadのためだけではないiPhoneのために素晴らしい仕事を.aspectFillに設定したということでした。

しかし、.resizeFillは完全に機能しましたので、これは私がやったことです。

if UIDevice.current.userInterfaceIdiom == .pad { 

       scene.scaleMode = .resizeFill 

      }else{ 

       scene.scaleMode = .aspectFill 


      } 
関連する問題