菜鸟教程小白 发表于 2022-12-12 15:44:50

ipad - iOS - 条件编译 (xcode)


                                            <p><p>我为最初的 iphone 应用程序创建了一个额外的 iPad 目标。</p>

<p>来自 Apple 文档:
“几乎在所有情况下,您都需要定义一个新的 ViewController 类来管理 iPad 版本的应用程序界面,尤其是当该界面与您的 iPhone 界面完全不同时。您可以使用条件编译来协调创建不同的 ViewController 。”</p>

<p>但是他们没有给出任何关于条件编译是什么的例子或细节。谁能举个例子?我会在哪里做呢?</p>

<p>编辑:
我尝试在 iPad 目标中定义以下 cflags:-D USE_IPAD、-DUSE_IPAD。
无论哪种方式,此代码总是导致 IPHONE 被记录:</p>

<pre><code>#ifdef USE_IPAD

      NSLog(@&#34;IPAD&#34;);

    #else

      NSLog(@&#34;IPHONE&#34;);

    #endif
</code></pre>

<p>我错过了什么?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>另一种可能优于条件编译的方法是直接的 <code>if else</code> 语句:</p>

<pre><code>if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    // iPad code
} else {
    // iPhone or iPod Touch code
}
</code></pre>

<p>我更喜欢这个而不是条件编译,因为我发现它更容易维护并且线路噪音更少。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ipad - iOS - 条件编译 (xcode),我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/4581700/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/4581700/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ipad - iOS - 条件编译 (xcode)