所以我有一個真正有用的功能,當我製作設備特定的URL時,但我想將它放在全局頭文件中,以便任何類都可以使用它易iPhone-iPad設備類型在頭文件中的伎倆
- (NSString *)deviceType
{
NSString *deviceName = @"iphone";
if([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
deviceName = @"ipad";
}
else {
deviceName = @"iphone4";
}
}
return deviceName;
}
這可能是也可能不是這樣做的最佳方式,但我想知道如何獲取到一個全球性的標題,所以我可以做這樣的事情
NSString *deviceName = GETDEVICENAME;
不清楚這是否真的做到了你想要的。我認爲運行iOS 4.0的3GS iPhone將顯示爲iPhone4。你可能想要檢查respondsToSelector和[UIScreen mainScreen] .scale == 2.0 – mtoy 2010-08-23 23:27:41
你是對的,3GS確實對比例做出了響應 – PaulWoodIII 2010-08-24 09:19:02
這個答案不正確,如上所述。 UIScreen的縮放屬性在iOS4.0中引入。因此,任何運行iOS4.0 +(ipod,iphone,iwhatever)的設備都將使用上述代碼作爲iphone4進行響應。我認爲一般來說,要確定某人正在使用的確切模型是錯誤的方法來將設計變爲明智的。這樣的代碼可能會破壞道路。 查看UIScreen的比例屬性文檔 http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIScreen_Class/Reference/UIScreen.html#//apple_ref/occ/instp/UIScreen/規模 – Jonny 2011-02-23 02:47:31