我正在开发一个 iPhone 应用程序。一个简单的图像是主视图的背景。我已经在后台设置了一个 UIImageView 并使用 IB 设置了一个图像。
该图像是 160dpi PNG 图像。它看起来像 IB 中的 CRAP。在模拟器中运行时,它是好的,清晰的。
我应该如何工作并将控件精确地放置在分辨率如此低的图像上?这是一个错误吗?
谢谢你的帮助!
我正在开发一个 iPhone 应用程序。一个简单的图像是主视图的背景。我已经在后台设置了一个 UIImageView 并使用 IB 设置了一个图像。
该图像是 160dpi PNG 图像。它看起来像 IB 中的 CRAP。在模拟器中运行时,它是好的,清晰的。
我应该如何工作并将控件精确地放置在分辨率如此低的图像上?这是一个错误吗?
谢谢你的帮助!
实际上,DPI 根本不是无关紧要的。
将 DPI 更改为 72,图像将在 IB/Xcode 中正常显示。
IB is not a tool for designing a UI, it is a tool for implementing one. It is designed to perform well rather than display well (this is more important in complex desktop UI design than mobile but the tool is the same for both). The best advice is perhaps to take a cue from the publishing world (where this is a common practice for applications that display large amounts of high resolution graphics such as Adobe InDesign) and keep track of exact measurements for controls - the x,y coordinate positions and height/width. Then you can use the inspector to precisely position controls.
当我在 IB 中处理图像时,我看不到这样的东西。也许您的 PNG 文件有什么特别之处?你说它是 160 dpi,这无关紧要。更重要的是它的像素尺寸,以及它们与屏幕尺寸的比较。
也许 UIImageView 在渲染你的 PNG 时遇到了问题,并且出于某种原因使用了预览图标?尝试使用不同的图像,或尝试将图像大小调整为 480x320,使用 32 位颜色。
我也想知道这个。我不认为图像的 DPI 是这样做的,因为我有一个项目,在一台机器上的 IB 中一切看起来都很好,然后在我的笔记本电脑上,它显示了 OP 描述的方式。
图像尺寸与 iPhone 屏幕和视图尺寸 (320x480) 相同,但图像显示全部很小,而不是填满 UIImageView 的整个尺寸。如果我缩放以填充,那么图像在 320x480 处变得非常模糊,即使我可以确认这些是图像的实际尺寸......它的作用就像图像本身是 320x480 的空白空间和一个小的版本我的图像以它为中心……这很奇怪。正如我所说 - 这是同一个项目,在另一台机器上的 IB 中看起来完全正常(当它们构建时,它们在模拟器中看起来都很正常)。这也发生在我朋友的 macbook 上。
IB中是否有一些设置可能有所不同?
编辑:我猜我说得太早了——我回到另一台机器上,这次发现了同样的问题,而且确实是 dpi。这一定是最近对 xcode/IB 的更新之一发生了变化,因为我最初从未见过这个问题,而且图像文件完全相同......奇怪。