2016-02-19 56 views
1

如何讓我的用戶界面是在所有iOS devices.While研究適應,我看到他們在那裏已經定義了各種設備的尺寸很少的代碼和設計的UI基礎上,大小值。它是如何定義的示例代碼如下,製作的UI能適應各種iOS設備

#define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width) 
#define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height) 
#define SCREEN_MAX_LENGTH (MAX(SCREEN_WIDTH, SCREEN_HEIGHT)) 
#define SCREEN_MIN_LENGTH (MIN(SCREEN_WIDTH, SCREEN_HEIGHT)) 
#define IS_IPHONE_4_OR_LESS (IS_IPHONE && SCREEN_MAX_LENGTH < 568.0) 
#define IS_IPHONE_5 (IS_IPHONE && SCREEN_MAX_LENGTH == 568.0) 
#define IS_IPHONE_6 (IS_IPHONE && SCREEN_MAX_LENGTH == 667.0) 
#define IS_IPHONE_6P (IS_IPHONE && SCREEN_MAX_LENGTH == 736.0) 

它的單調乏味,如果我必須每次都檢測大小。在Android的情況下,存在片段,使ui與各種屏幕尺寸一起工作。是否有任何替代碎片在iOS和如何使我的用戶界面適應各種設備?

+4

使用自動佈局.... –

+0

薩爾瓦多隊長的回答還是比較全面的。但我會補充一點:你需要使用Storyboard +自動佈局。 Storyboard是一種通過iOS應用程序以圖形方式佈局用戶界面和用戶路徑的工具。您將能夠使您的UI適合/調整所有iPhone/iPad屏幕。有關更多信息,只需谷歌「iOS Stroryboard自動佈局示例」。 –

+0

並且不要忘記_Size Classes_。請參閱:[適應性和佈局(https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/LayoutandAppearance.html) –

回答

2

你好,我有我使用我的項目是什麼給你一個解決方案。

我使用一個簡單的數學公式來做到這一點。

CGRectMake(0, 0,[UIScreen mainScreen].bounds.size.width*100/320, [UIScreen mainScreen].bounds.size.height*100/568); 

在這裏,我有一個觀點,並根據5S我想它的大小與(100×100),所以我給那個條件,將根據屏幕尺寸的增加或減少需要的尺寸。

在5秒將採取100x100的

在6需要(375 * 100/320)和寬度(667 *568分之100)高度

可能這會幫助你。

+0

375 * 100/320是117.1875做工精細,你會落得這個模糊的邊緣。你至少應該圍繞你的計算。 – Cyrille

+0

因爲我們必須使用圓形方法 –