2017-04-09 64 views
4

我已經使用以下代碼定位在我的應用程序視圖的左上角的節點:夫特SKSpiteNode位置iPhone V ipad公司

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

此正確位置在所有的iPhone模擬器,範圍從5至7個加。

但是,它並未出現在任何iPad模擬器中。我已經把位置設置爲midX和midY,並且它看起來很好,而不是上面顯示的適用於所有iPhone的代碼。

我錯過了什麼?

有沒有不同的方式來定位iPhone v iPad的視圖上的節點,而不是使用倍數的視圖?

+0

我懷疑你可能在iPad上遇到屏幕旋轉問題。您是否檢查過iPad視圖的高度和寬度,以查看系統將這些值報告爲什麼? –

+0

@ScottThompson不,我從來沒有做過兼容iPad的應用程序,所以我對於如何去做這件事毫無頭緒。我認爲設置所有節點的位置相對於視圖的高度/寬度將像所有iPhone視圖一樣工作? –

回答

1

解決:

的問題是,現場的scaleMode設置爲.aspectFill這對於iPhone手機的ipad公司偉大的工作只是沒有。

但是.resizeFill完美運作,所以這就是我所做的。

if UIDevice.current.userInterfaceIdiom == .pad { 

       scene.scaleMode = .resizeFill 

      }else{ 

       scene.scaleMode = .aspectFill 


      }