这可能是一个非常简单的问题,但我已经坚持了一个星期。我正在使用UIImageView显示Dropbox品牌PNG图像。我在Interface Builder中看到它没问题,但很容易注意到iOS模拟器和实际设备(iPad)中的强烈像素化。在这里,我附上IB的屏幕截图以及模拟器:
我真的很感激任何提示。
提前致谢!
答案 0 :(得分:4)
InterfaceBuilder是一个与iOS甚至模拟器完全不同的环境。布局等应该进行翻译,但应始终对最终产品进行判断(并因此设计)。
看起来您的图像略微拉伸。这有很多原因。首先要检查的是UIImageView上的大小调整掩码。对于UIImageViews来说,自动调整通常是不好的 - 出于这个原因。
顺便说一句,自动调整是UIKit确保子视图在父视图更改大小时仍然适合/看起来很好的方法。您可以指定希望子视图移动的程度,以及您希望它伸展多少。阅读它here。
你想要做的是设计你的观点 - 回答这个问题:我希望这个图像在最终产品中有多大? - 然后制作那个大小的实际png(也产生一个视网膜显示尺寸加倍的@ 2x变体)。然后,当您在IB中进行设计时,也要将UIImageView设置为相同尺寸,并确保将自动调整设置设置为禁止拉伸。
这应该解决你的问题。
答案 1 :(得分:2)
检查以确保图像的大小与UIImageView的大小相匹配。如果图像恰好小于目标图像视图,它将拉伸以填充它,这可能导致像素化。此外,如果您正在运行适用于iPad的新5.1模拟器,它将默认使用新的视网膜屏幕,这意味着您将需要@ 2x大小的图像以防止像素化。