2

定数を定義するために次のコードを実装しました。

#ifdef UI_USER_INTERFACE_IDIOM
#define IS_IPAD() (UI_USER_INTERFACE_IDIOM == UIUserInterfaceIdiomPad)
#else
#define IS_IPAD() (false)
#endif

#if (IS_IPAD)
CGFloat const scrollSizeWidth = 768.0f;
CGFloat const scrollSizeHeight = 1004.0f;
#else
CGFloat const scrollSizeWidth = 320.0f;
CGFloat const scrollSizeHeight = 460.0f;
#endif

しかし、私の変数には常に320.0f460.0fが表示されます。

更新: k3aユーザーがUI_USER_INTERFACE_IDIOMがiOS 8.3で機能しないことを発見したため、これはもはや定義ではなく、静的インラインであるためです。

この回答も確認してください: リンク

4

2 に答える 2

3

変化する:

#ifdef UI_USER_INTERFACE_IDIOM
#define IS_IPAD() (UI_USER_INTERFACE_IDIOM == UIUserInterfaceIdiomPad)
#else
#define IS_IPAD() (false)
#endif

#ifdef UI_USER_INTERFACE_IDIOM
#define IS_IPAD (UI_USER_INTERFACE_IDIOM == UIUserInterfaceIdiomPad)
#else
#define IS_IPAD (false)
#endif
于 2012-07-18T11:57:42.147 に答える
2

がプリプロセッサ シンボルでない場合UIUserInterfaceIdiomPadは、プリプロセッサ条件で使用できません。

于 2012-07-18T11:59:35.057 に答える