我已閱讀#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'聽起來像是一個運行時的事情...) –
好吧,現在我明白了。 那麼如何指定設備的屏幕尺寸? 對不起,我的慢,因爲一些英文研究技術很難翻譯,看起來應該是我想象的方式。 –