#ifおよび#defineステートメントの多くの定義を読んでいます。
私は以下のコメントとして、それを定義する行の「プリプロセッサ式の開始時に無効なトークンを」だけエラーで、私が読ん方法を使用しようとしました:それはで動作するのはなぜ#defineまたは#ifステートメントエラー
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#define is_ipad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#define is_ipad_hd ((is_ipad == 1 && [UIScreen mainScreen].bounds.size.width > 1024) ? YES : NO)
#define is_iphone_hd ([UIScreen mainScreen].bounds.size.width > 480 ? YES : NO)
#define device_width 480.0f
#define device_height 320.0f
#if (is_ipad_hd == YES) // Error here
#define device_width = 2048.0f
#define device_height = 1496.0f
#endif
シンプルなチュートリアルで、もっと複雑なものを試してみると、これらのことが起こります!
プリプロセッサディレクティブはコンパイル前に評価されます。ランタイム情報を操作することはできません。 (私はObjective Cを知らないが、 '[UIScreen mainScreen] .bounds.size.width'は実行時のように聞こえる...) –
これでわかりました。 どうすればデバイスの画面サイズを指定できますか? 私の遅さは申し訳ありません。英語の一部の研究手法は翻訳が難しく、それがすべきだと思うように見えるためです。 –