菜鸟教程小白 发表于 2022-12-12 22:48:07

ios - 44 像素的宽度是否等同于所有设备的相同物理尺寸?


                                            <p><p>我的工作基于 iPhone 6 的屏幕尺寸,即 1136x750 像素、326 ppi。我更关心按钮的物理尺寸(出于某种原因),而不是它们的数字尺寸。</p>

<p>如果 iPhone 6 上宽度为 44 像素且物理宽度为 0.2 英寸的按钮在 iPhone 6 Plus 上具有相同的物理宽度,即 401 ppi?</p>

<p>如果不是,这不应该违反 Apple 的准则吗?他们最初测试了 44 像素作为最小宽度,但随着 ppi 越大,相同的宽度在物理上会减小。</p>

<p>这是否以某种方式调整/缩放?</p>

<p><strong>编辑:</strong>我觉得自己很愚蠢,这一切都很明显。</p>

<p><strong>编辑 2:</strong>我最初担心的是 iPhone 6 的屏幕上总共可以有</p>

<p>T = 375.0/44.0 = 8 个按钮。</p>

<p>而 iPhone 6 Plus 总共可以有</p>

<p>T' = 540.0/44.0 = 12 个按钮,每个按钮在物理上更小。</p>

<p>解决此问题的方法是计算出 iPhone 6 Plus 按钮的调整宽度,即 w' = 44.0 px * 401 ppi/326 ppi = 54.0 像素。</p>

<p>因此,iPhone 6 Plus 上的每个按钮都应具有 54 像素的宽度以具有相同的物理尺寸。</p>

<p>我想对了吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>你说得对,iOS 中的点数与物理尺寸无关。</p>

<pre><code>physicalSize = points * scale / ppi
</code></pre>

<p><strong>5.5"</strong> 44*3/401 ≈ 0.33 英寸</p>

<p><strong>4.7"</strong> 44*2/326 ≈ 0.27 英寸</p>

<p>因此,为了保证相同的物理尺寸,您需要为每个设备手动计算它,这无论如何都不是最佳做法。</p>

<p>从上面的公式可以得到:</p>

<pre><code>points = physicalSize * ppi / scale
</code></pre>

<p>Swift 函数:</p>

<p></p>

<pre><code>func points(fromInches inches: CGFloat) -&gt; CGFloat {
    return inches * ppi / UIScreen.main.scale
}

var ppi: CGFloat {   
    //return device ppi
}
</code></pre>

<p>检查 <a href="https://stackoverflow.com/q/8257947/1689376" rel="noreferrer noopener nofollow">this</a>关于以编程方式获取 ppi 的问题:</p>

<p><strong>编辑:</strong></p>

<p>我仍然建议考虑点数,而不是物理屏幕尺寸。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 44 像素的宽度是否等同于所有设备的相同物理尺寸?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/40568696/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/40568696/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 44 像素的宽度是否等同于所有设备的相同物理尺寸?