OStack程序员社区-中国程序员成长平台

标题: ios - 基于 BOOL 定义常量 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 19:44
标题: ios - 基于 BOOL 定义常量

在我的 iOS 应用程序中,我有一个 constants.h 类,我在其中定义了 kBorderWidth。对于视网膜显示器,我希望它为 0.5,以便边框为 1 个像素厚,在非视网膜显示器上,我希望它为 1,以便它保持 1 个像素厚而不是更少。这是我现在的代码:

#define IS_RETINA ([[UIScreen mainScreen] respondsToSelectorselector(displayLinkWithTarget:selector] && ([UIScreen mainScreen].scale == 2.0))

#if __IS_RETINA == 1
    #define kBorderWidth .5
#else
    #define kBorderWidth 1
#endif

编译得很好,但导致 kBorderWidth 为 1。我怎样才能解决这个问题,以便它完成我想要它做的事情?



Best Answer-推荐答案


我确定的解决方案是 Lanorkin 建议的解决方案,它是这样定义的:

#define kBorderWidth (1.0 / [UIScreen mainScreen].scale)

这是面向 future 且简单的,并且可以在我已经设置的 constants.h 文件中工作。

关于ios - 基于 BOOL 定义常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22124319/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4