2014-11-23 43 views
1

我創建了一個尺寸爲640x1136px的4英寸屏幕的視網膜分辨率圖像。它沒有正確縮放。爲了調試,我決定讓代碼打印出self.view.frame的寬度和高度。結果是Objective C:SpriteKit - 錯誤幀

width: 320 height: 480

這是不正確的,高度應爲568分(1136像素)。 objective-c spriteKit中錯誤幀大小的處理是什麼?

編輯:

代碼下面貼

下面@implementation

UIImageView* menuImage;

(void)didMoveToView:(SKView *)view

menuImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"menuImage"]]; 
menuImage.frame = self.view.frame; 
NSLog(@"height: %f || width: %f", self.view.frame.size.height, self.view.frame.size.width); 

編輯2:

提交的一些測試

ScreenSize: {{0, 0}, {320, 480}} 
SuperViewSize: {{0, 0}, {0, 0}} 
SelfSize: {{0, 0}, {320, 480}} 
+1

你確定你不是意外地在3.5設備/模擬器上檢查它,或手動更改某處的視圖大小嗎? – AMI289 2014-11-23 15:07:58

+0

是的。這是一個全新的項目,所以我確信我不會在任何地方改變視圖尺寸。我正在iPhone 5s的物理設備上測試它。 我在添加代碼以防情況會有所幫助。 – Sam 2014-11-23 15:09:50

+1

你可以添加下面的'NSLog'語句併發布它們的值嗎? NSLog(@「ScreenSize:%@」,NSStringFromCGRect([[UIScreen mainScreen] bounds]));''NSLog(@「SuperViewSize:%@」,NSStringFromCGRect(self.view.superview.bounds));''NSLog (@「SelfSize:%@」,NSStringFromCGRect(self.view.bounds));' – AMI289 2014-11-23 15:17:18

回答

0

隨着AMI289(見註釋)的幫助的結果,我們找到了如何修復這一點。

首先,我去了項目設置,並在一般下我從「啓動屏幕文件」中刪除文本。然後,我添加了Launch Image Source。之後,我刪除了啓動映像集文件並創建了新文件。這使得menuImage以正確的分辨率適合整個屏幕。

注意:這隻有在使用啓動映像而不是啓動文件時才起作用,因爲部分過程是刪除啓動屏幕文件文本字段中的文本。但是,我不確定該過程的哪個部分實際上解決了問題,因此無論如何它都可以工作。