2013-07-18 62 views
-1
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){ 
     CGSize result = [[UIScreen mainScreen] bounds].size; 
      //NSLog(@"phonesize%@",result); 
     if(result.height > 500){ 
       NSLog(@"iPhone 5");  
     } 
     else{ 
       NSLog(@"iPhone 4"); 

      } 
    } 

我的Mac OS 10.7.2是並用上面的代碼的Xcode 4.5.2.I發現設備是iPhone 4或iPhone 5 這是給iPhone4的,當我使用的iPhone5我確實設置了啓動圖像和圖標圖像。還有什麼我錯過了嗎?查找設備類型iPhone 4或iPhone5的工作不

+0

你在哪兒打這個電話? – Eyal

+0

我把這段代碼放在viewwillappear – Xcode

回答

1

請確保您有在您的項目命名爲[email protected]的PNG文件。

+0

這是錯誤的那裏。謝謝你的回答 – Xcode

0

你需要擴展你有按屏幕的規模scaleresult然後檢查...

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){ 
     if ([[UIScreen mainScreen] respondsToSelector: @selector(scale)]) { 
      CGSize result = [[UIScreen mainScreen] bounds].size; 
      CGFloat scale = [UIScreen mainScreen].scale; 
     result = CGSizeMake(result.width * scale, result.height * scale); 

     if(result.height == 960) { 
      NSLog(@"iPhone 4"); 
     } 
     if(result.height == 1136) { 
      NSLog(@"iPhone 5"); 
     } 
    } 
    else{ 
     NSLog(@"Standard Resolution"); 
    } 
} 
+0

作爲result.height是一個浮點數,最好不要在比較中使用==,而是使用>或< – tttthomasssss

0

試試這個代碼,而不是它的測試。

if ([[UIDevice currentDevice] userInterfaceIdiom] ==UIUserInterfaceIdiomPhone) 
    { 
     //device is iPhone 

     CGRect screenBounds = [[UIScreen mainScreen] bounds]; 
     if (screenBounds.size.height == 568) { 
     //device is iphone 5 
     //add storyboard/Xib that have large screen (320*568) 
     } else { 
      //device is iphone 4 
      //add story board/Xib that have small screen (320*480) 

     } 

    } 
else 
    { 
     //device is iPad 
    } 
0
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 
    { 
     CGRect screenBounds = [[UIScreen mainScreen] bounds]; 
     if (screenBounds.size.height == 568) 
     { 
     //iphone 5 

     else 
     { 

     //iphone 4 


     } 
    } 
else 
    { 
     //iPad 
    } 

試試這個可能對你有幫助...