1. 程式人生 > >iOS 判斷機型是否為 iPhone X、XR、XS、XS Max 的方法

iOS 判斷機型是否為 iPhone X、XR、XS、XS Max 的方法

// 判斷是否為iPhone X 系列  這樣寫消除了在Xcode10上的警告。
#define IPHONE_X \
({BOOL isPhoneX = NO;\
if (@available(iOS 11.0, *)) {\
isPhoneX = [[UIApplication sharedApplication] delegate].window.safeAreaInsets.bottom > 0.0;\
}\
(isPhoneX);})

原理是根據手機底部安全區的高度 判斷是否為 iPhone X、XR、XS、XS Max 幾款機型,用巨集的方法使用方便,在使用的地方對 IPHONE_X 進行一下判斷即可。

/**
 *導航欄高度
 */
#define SafeAreaTopHeight (IPHONE_X ? 88 : 64)

/**
 *tabbar高度
 */
#define SafeAreaBottomHeight (IPHONE_X ? (49 + 34) : 49)