2013-10-26 41 views
0

如何找出用戶正在使用的設備?我目前使用的代碼是:如何檢查用戶正在使用的iOS設備?

CGRect screenBounds = [[UIScreen mainScreen] bounds]; 
if(screenBounds.size.height == 568){ 
    NSLog(@"User is using an iPhone 5s, 5c, or 5"); 
} 
else{ 
    NSLog(@"User is using an iPhone 4s or earlier"); 
} 

這個返回什麼其他數字,它會是什麼設備?例如,我希望這樣的事情:

screenBounds.size.height == 568將是iPhone5的/ 5S/5C
screenBounds.size.height == 480將是iPhone 4/5秒
screenBounds.size.height > 570將是一個iPad

等。我將根據用戶正在使用的設備來改變nib文件,以便我不必移動每個按鈕,圖像,標籤或其他任何與CGRectMake相關的文件。

我沒有使用自動佈局,因爲我還想根據用戶使用的設備進行更多的自定義。

+0

我沒有看到你在找什麼超出​​三種高度,你已經有了。 – Kevin

+0

@Kevin這不是一個恰當的重複 - 這是一個錯誤的問題。 – rmaddy

+2

@Domenico - 請停止添加'xcode'標籤。這與你的問題無關。閱讀標籤的描述。 – rmaddy

回答

1

要檢查設備的類型:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
{ 
// You are using iPad 
    return YES; 
} 

else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomiPhone) 
{ 
    CGRect screenBounds = [[UIScreen mainScreen] bounds]; 

if(screenBounds.size.height == 568){ 
    NSLog(@"User is using an iPhone 5+"); 

} else{ 
    NSLog(@"User is using an iPhone 4s-"); 
} 
} 
+0

我仍然需要知道iPad mini和類似的東西,雖然 – Jojodmo

+0

嗯,我沒有做任何與iPad的小屏幕尺寸,但我一直在尋找的東西,並找到答案這裏:[鏈接](http://stackoverflow.com/questions/13366976/is-it-possible-to-detect-that-your-ios-app-is-running-on-an-ipad-mini-at-運行)。我希望這是你正在尋找的。祝你好運:) – scollaco

+0

感謝您的幫助:) – Jojodmo

相關問題