2013-07-30 194 views
0

我正在學習iOS開發,我對這些設備尺寸略有困惑。 當我在模擬器上測試,我有這樣的選擇:不同的設備屏幕尺寸

Hardware -> Device -> iPhone 
Hardware -> Device -> iPhone (Retina 3.5 inch) 
Hardware -> Device -> iPhone (Retina 4 inch) 

我應該測試我對所有這三個選項的應用程序?各個屏幕大小對應哪個手機? (例如,當我們測試3.5英寸時,這意味着什麼,iPhone適合哪種?)。

+0

如果您使用Autolayout,然後選擇任何選項,不要擔心。 – Jitendra

+0

iPhone5的屏幕尺寸是320px 568px,iPhone4s和波紋管設備的屏幕尺寸是320px x 480px –

回答

0

你應該測試所有這些。第一個意思是iPhone 4之前的設備。第二個對應於iPhone 4和iPhone 4s。最後一個是iPhone 5.

0

硬件 - >設備 - > iPhone

//iPhone 3gs & iPod Touch 3 & early 

硬件 - >設備 - > iPhone(視網膜3.5英寸)

//iPhone4,4s & iPod Touch 4 

硬件 - >設備 - > iPhone (視網膜4英寸)

//iPhone5 & iPod Touch 5 
0

那麼,不同的iPhone有不同的屏幕尺寸。例如,iPhone 4,4S的外形尺寸是

320 X 480 

的iPhone 5是

1136 X 640 

所以,你需要做的是檢查它在屏幕尺寸,或檢查設備的類型是什麼目前正在運行,並讓它返回。

這裏是另一頁上找到了答案:here

if([[UiDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){ 
if(UIScreenOverscanCompensationScale==1136/640){ 
     //move to your iphone5 storyboard 
     [UIStoryboard storyboardWithName:(NSString *) bundle (NSBundle *)]; 
    } 
    else{ 
     //move to your iphone4s storyboard 
     [UIStoryboard storyboardWithName:(NSString *) bundle (NSBundle *)]; 
    } 
} 
+0

嗨,感謝您的回答。是的,它也將有助於找到信息如何支持所有這些屏幕。順便說一句。我沒有使用storyboards ..我聽說我可以使用image.png和[email protected],如果應用程序是視網膜或非視網膜顯示器,它會載入相應的一個,但現在我看到有三個選項(iphone,iphone 3.5英寸,iPhone 4英寸),而不是兩個...?! – user2054339

+0

是的,如果你只是檢查原始iphone和3G/3GS的大小,那麼你只需要檢查這些。無非是一個if else()語句:)但是,如果您只想使用圖像,則將故事板更改爲UIImage * image = [UIImage imageNamed:];並改變設備上的圖像,但你需要:) – user2277872

0

的3.5英寸的屏幕尺寸對應於每一個iPhone/iPod的觸摸屏,直到iPhone 5 iPhone 5的尺寸有一個4英寸的屏幕。

您必須針對所有屏幕尺寸測試您的應用程序。實際上,Apple建議使用自動佈局,以確保即使屏幕尺寸不同,您的應用看起來也不錯,例如當用戶撥打電話時狀態欄變大。

0

見iPhone配備在2個不同的屏幕尺寸3.5英寸和4英寸,iPhone附帶3.5英寸的屏幕具有與iPhone 5具有開始有視網膜和非視網膜顯示,但4英寸的屏幕的選項只有視網膜顯示。 的iPhone5有320px568p屏幕尺寸及以下的iPhone5有小320x480

因此如果您計劃同時針對你的應用程序的屏幕尺寸,你應該測試所有的iPhone大小

1

除非你是對於iPhone 5和以前的iPhone將會有完全不同的用戶界面,你並不需要太擔心屏幕尺寸。每當你在iOS中做任何類型的自定義渲染時,都可以用點來指定座標,而不是像素。 iOS會根據您的設備自動計算像素值。

你需要關心的唯一事情就是當涉及到圖像時的視網膜顯示。爲此,你只需要有一個雙倍大小的圖像,最終@ 2x。例如,對於預視網膜手機,您可能會有一個100x100像素的圖像,稱爲image.png。然後您需要一個名爲[email protected]的圖像,該圖像的像素爲200x200。 iOS會在需要時自動加載視網膜版本。

如果你想爲iPhone 5提供不同的UI,那麼解決方案@ user2277872會很好。

你一定要考慮使用Autolayout,因爲這對於許多事情來說都非常容易,特別是如果你不打算爲iPhone 5設置不同的UI,因爲它會根據你給它的一組預定義規則。例如,您可能希望按鈕始終距離屏幕底部20px。無論屏幕是4英寸還是3.5英寸,Autolayout都會爲您做到這一點。

+0

嗨PaReeOhNos,你提到:「你指定的座標點」 - 你的意思是這樣做自動,或者我應該這樣做? – user2054339

+0

它自動完成。因此,如果你想添加一個子視圖,那麼無論它是視網膜顯示還是非視網膜,你都應該這樣做:[[[UIView alloc] initWithFrame:CGRectMake(10,10,10,10)];對於非視網膜顯示器,這將繪製一個10x10px的正方形,座標爲10px,10px。在視網膜顯示器上,它將繪製一個20x20px的正方形,座標爲20px,20px :) – PaReeOhNos