0
A
回答
2
#define IS_WIDESCREEN (fabs((double)[ [ UIScreen mainScreen ] bounds ].size.height - (double)568) < DBL_EPSILON)
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define IS_IPHONE_5 (IS_IPHONE && IS_WIDESCREEN)
#define IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
2
反問:
爲什麼要使用宏,當有可用的方法?
宏可以以任何方式轉換爲方法調用,因爲在編譯時您無法知道在運行時遇到什麼設備。
你上運行的設備是一臺iPad,如果它是這麼說的:
BOOL isThisAnIPad = [[UIDevice currentDevice] userInterfaceIdiom] == UIInterfaceIdiomPad;
除此之外,您自動suffixing them with the correct values組合得到正確的資源與平時@2x
視網膜圖形。
相關問題
- 1. 用於檢測iPhone平臺的內置預處理器令牌
- 2. 在預處理器中檢測ARM-64?
- 3. 檢測iPad的預處理器指令
- 4. 如何在預處理器中檢測「使用MFC」
- 5. 使用預處理器
- 6. 使用預處理器
- 7. 處理iPhone的大器件尺寸5
- 8. 檢測預處理器中的MOVBE可用性?
- 9. 用於檢測MSVC C運行時庫的預處理器宏
- 10. 檢測來電iphone 5
- 11. 檢測空參數在預處理宏
- 12. 檢測處理器數
- 13. 如何檢測用戶是否使用iPhone,iPhone 5或iPad
- 14. 使用預處理器檢查表達式是否爲左值
- 15. iPhone - 在目標c/XCode中使用預處理器宏
- 16. FFMPEG使用氣體預處理器的iPhone
- 17. 如何檢測預處理器中的X32 ABI或環境?
- 18. 在預處理器中檢測-xarch選項?
- 19. 如何在頭文件中使用預處理器檢查?
- 20. 內置預處理程序標記檢測的iPhone應用程序的目標
- 21. 使用C預處理器指令編譯時間檢查
- 22. 在J2ME項目中未檢測到預處理器塊(Netbeans 6.9.1)
- 23. 如何檢測類型是C中預處理器的指針?
- 24. 如何在C++預處理器中檢測g ++和MinGW?
- 25. C++預處理器+檢測對象類型和新操作
- 26. 檢測64位整數型式而不預處理器或stdint.h
- 27. 如何檢測com.apple.compilers.llvm.clang.1_0作爲預處理器宏?
- 28. YAML預處理器/宏處理器
- 29. 使用預處理器檢查字節順序
- 30. Xcode - 預處理器指令檢查使用哪個SDK
檢查此問題http://stackoverflow.com/questions/13689895/best-way-to-manage-screen-height-differences-on-iphone-5-and-others – iDev