同じマクロを定義したいのですが、ipadかiphoneかによって値が異なります。たとえば、iPhoneのTHUMB_WIDTHを40に定義したいのですが、iPadのTHUMB_WIDTHは100です。これは可能ですか? 可能であれば、どのように行うのですか?
質問する
640 次
1 に答える
4
はい、可能です。まず、マクロはコンパイル時にコード内で置き換えられる単なるコードであることを理解する必要があります。
ユニバーサル アプリ (iPhone/iPad) が必要だと思います。つまり、両方のプラットフォームで同じコードをコンパイルして共有するということです。したがって、#if マクロを使用してこの値を変更することはできません。ロジック部分はマクロに含まれている必要があります。これにより、実行時に値がわかり、iPhone または iPad で実行するかどうかによって値が変わります。
次のようなものを使用できます。
#define THUMB_WIDTH (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) ? 40 : 100
于 2013-01-21T03:11:07.427 に答える