Interface Builder无法正确显示160dpi图像?

时间:2008-11-21 16:54:37

标签: iphone cocoa-touch interface-builder

我正在开发一款iPhone应用程序。简单图像是主视图的背景。 我在后台设置了UIImageView并使用IB设置了一个图像。

图像是160dpi的PNG图像。它看起来像IB中的CRAP。在模拟器中运行时,它很好,很清晰。

我应该如何工作并将我的控件准确地放在如此糟糕的分辨率图像上? 这是一个错误吗?

谢谢你的帮助!

4 个答案:

答案 0 :(得分:2)

IB不是用于设计UI的工具,它是用于实现UI的工具。它的设计表现良好而不是很好地显示(这在复杂的桌面UI设计中比移动设备更重要,但两者的工具相同)。最好的建议可能是从出版界获得提示(这是显示大量高分辨率图形的应用程序的常见做法,例如Adobe InDesign)并跟踪控件的精确测量 - x,y坐标位置和高度/宽度。然后,您可以使用检查器精确定位控件。

答案 1 :(得分:2)

实际上,DPI根本不相关。

将DPI更改为72,图像将以IB / Xcode显示。

答案 2 :(得分:0)

当我在IB中处理图像时,我看不到这样的事情。也许你的PNG文件有什么特别之处?你说这是160 dpi,这是相当无关紧要的。更重要的是它的像素diomensions,以及它们与屏幕尺寸的比较。

也许UIImageView无法呈现您的PNG,并且出于某种原因使用预览图标而不是?尝试使用其他图像,或尝试将图像尺寸调整为480x320,使用32位颜色。

答案 3 :(得分:0)

我也想知道这件事。我不认为图像的DPI是这样做的,因为我有一个项目,在一台机器上IB的一切看起来都很好,然后在我的笔记本电脑上,它显示了OP描述的方式。

图像尺寸与iPhone屏幕和视图尺寸(320x480)相同,但图像显示的都很小,而不是填满UIImageView的整个尺寸。如果我缩放以填充,那么图像变得模糊,在320x480,即使我可以确认那些是图像的实际尺寸......它的表现就好像图像本身是320x480的空白空间与小版本我的形象集中在它里面......这很奇怪。正如我所说 - 这是同一个项目,在另一台机器上看起来完全没有IB(当它们构建时,它们在模拟器中看起来都很正常)。这也发生在我朋友的macbook上。

IB中的某些设置可能有所不同吗?

编辑: 猜猜我说得太快了 - 我回到了我的另一台机器,这次发现同样的问题,确实是dpi。这一定是xcode / IB最新更新之一的变化,因为我最初从未见过这个问题,而且图像文件完全一样......很奇怪。