#define としてデバイス タイプを取得する方法はありますか? ユニバーサル アプリ用にこれを取得したいのですが、それが iPad、iPhone4、iPhone5 のいずれであるかを知りたいです。
ありがとう!
#define としてデバイス タイプを取得する方法はありますか? ユニバーサル アプリ用にこれを取得したいのですが、それが iPad、iPhone4、iPhone5 のいずれであるかを知りたいです。
ありがとう!
反対の質問:
利用可能なメソッドがあるのに、なぜマクロを使用するのでしょうか?
マクロは、実行時にどのデバイスに直面するかをコンパイル時に知ることができないため、何らかの方法でメソッド呼び出しに変換されます。
実行しているデバイスは iPad です。次のように表示されます。
BOOL isThisAnIPad = [[UIDevice currentDevice] userInterfaceIdiom] == UIInterfaceIdiomPad;
それとは別に、通常の網膜グラフィックスと組み合わせて正しい値をサフィックスとして付けることにより、適切なリソースを自動的に取得します。@2x
#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)