菜鸟教程小白 发表于 2022-12-12 14:48:58

IOS 8 图像缩放和自动布局


                                            <p><p>假设我有一个 <code>UIView</code>,其中只有一个图像位于 <code>UIView</code> 的顶部居中,我为图像提供了一个图像资源,就像这样</p >

<ul>
<li>iPhone 4s 和更早的 50x50 正常</li>
<li>@2x 适用于 iPhone 5/5c/5s/6 100x100</li>
<li>@3x 适用于 iPhone 6+ 150x150</li>
</ul>

<p>显然,图像的宽度和高度随着不同的设备而增加,所以问题是如何处理自动布局,我应该将宽度和高度限制设置为大于或等于还是什么?还有我如何处理图像本身的定位?最后我注意到IOS模拟器总是为不同的设备使用相同的图像,这是我的错误还是问题?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>为此,您需要了解点和像素之间的差异。我们在界面构建器中设计 View 不是像素而是点。 </p>

<p><strong>1.对于普通屏幕(非视网膜)点 = 像素。</strong></p>

<p>因此,如果我们在界面生成器中将 ImageView 的高度和宽度设置为 50 * 50 并加载 50 x 50 像素的图像,如果我们在 50*50ImageView 中加载 100 x 100 像素的图像,它将恰好适合它会重新缩放图像,并且可能会出现一些压缩伪影。</p>

<p><强>2。对于视网膜显示点 = 2 像素。</strong> </p>

<p>因此,对于 50*50 的 ImageView ,您需要加载 100*100 像素的图像。它会看起来更清晰,不会出现压缩伪影。</p>

<p><strong>3.对于 6+ 点 = 3 像素。</strong></p>

<p>因此,对于 50*50 的 ImageView ,您需要加载 150*150 的图像。 </p>

<p> ImageView 不会像您假设的那样在 6+ 中重新缩放为 150*150。它将是 50*50 但包含 150*150 像素的图像,这将导致超清晰的显示。</p></p>
                                   
                                                <p style="font-size: 20px;">关于IOS 8 图像缩放和自动布局,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/29235674/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/29235674/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: IOS 8 图像缩放和自动布局