菜鸟教程小白 发表于 2022-12-12 19:44:59

ios - 基于 BOOL 定义常量


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

<pre><code>#define IS_RETINA ([ respondsToSelector:@selector(displayLinkWithTarget:selector:)] &amp;&amp; (.scale == 2.0))

#if __IS_RETINA == 1
    #define kBorderWidth .5
#else
    #define kBorderWidth 1
#endif
</code></pre>

<p>编译得很好,但导致 kBorderWidth 为 1。我怎样才能解决这个问题,以便它完成我想要它做的事情? </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我确定的解决方案是 Lanorkin 建议的解决方案,它是这样定义的:</p>

<pre><code>#define kBorderWidth (1.0 / .scale)
</code></pre>

<p>这是面向 future 且简单的,并且可以在我已经设置的 constants.h 文件中工作。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 基于 BOOL 定义常量,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/22124319/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/22124319/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 基于 BOOL 定义常量