0

我的应用程序使用平面图形,主要由线条和平面组成......

构建 UI 的最佳方法是什么?

  • 尽可能使用 PNG 图片(如附件图片,整个背景都是一张图片)

  • 使用 4 个带有背景颜色的 UIView(在本例中)来制作背景和 3 行

  • 使用 CoreGraphics 实际绘制 drawRect (或其他地方?)?

  • 继承 UIView 并绘制 PDF 内容

  • 还有其他方法吗?

性能影响是什么?前两者的优点是它们可以在 IB 中完成,但是否有缺点(如性能或质量或缓存)?我还听说一直使用 CoreGraphics 进行绘图的趋势...

图形样本

4

2 回答 2

0

所以基本上最快的方法是使用PNG文件(可拉伸和正常),如果你使用PNG文件,改变设计和修复最终的错误很容易。

当您使用 PNG 文件时,请尝试减小 PNG(背景可拉伸图像)的大小,以获得更好的性能和更小的应用程序大小。

CoreGraphics 更复杂,如果您不知道自己在做什么,可能会添加奇怪的错误或性能问题,但也可以用于简单的视图样式。

在我完成的每个项目中,我不能只使用这两个中的一个,因为项目复杂,或者因为我懒得打开 Photoshop 并添加一些设计。

于 2013-05-12T09:50:56.477 回答
0

正如 H2CO3 所说,并不是那么简单。每种格式都适合特定的要求,没有成文的法律,我只是告诉你我在做什么。

  1. 小部分 UI,例如按钮、图标等:我通常使用 PNG 或 PDF。您可以将 UIView 子类化以绘制 PDF 矢量内容。PDF 的优点是,如果源是矢量图像,则您无法关心物理逻辑点。
  2. 图像或高分辨率图像,例如内容的图像:在这种情况下,我使用 JPG,因为它们相对于 PNG 尺寸较小。它们需要更多的时间来解压缩,但通常与 PNG 相比,它的大小要小得多。
  3. 一般来说PNG可以使用alpha,JPG没有

图像是一个很大的话题,现在我总是尝试在 UI 元素中找到对称性并使用可拉伸的 UIImages 和 PNG。以你为例,我将使用 PNG 女巫可拉伸的左右两侧。除了使用 640 像素的图像,您可以使用 10 像素的图像,具有可拉伸的右边距和可拉伸的左边距。
[更新]
应该说,如果你使用可拉伸的图像,你会得到很大的性能提升,因为图像会更小,你会在“磁盘”上占用更少的内存,更少的内存在堆上,这与 GPU 拉伸有关和更少的减压时间。

于 2013-05-12T09:45:28.030 回答