2013-05-12 66 views
0

我的應用程序使用扁平的圖形,這主要是由線條和平面的表面...接口建築 - UIViews VS圖片VS核芯顯卡VS PDF子類

請告訴我爲構建UI的最佳方法?

  • 使用PNG圖像儘可能(如用於附加的圖片,則整個背景將是一個圖像)

  • 使用4個UIViews(在本例情況下)與背景顏色,使背景和3行

  • 使用CoreGraphics實際繪製drawRect(或其他地方?)?

  • 子類的UIView,繪製PDF內容

  • 任何其他的方法呢?

什麼是性能影響?前兩項的優勢在於它們可以在IB中完成,但是有缺點(如性能或質量或緩存)嗎?我也聽說過使用CoreGraphics中繪製所有的時間的趨勢...

sample of graphics

+1

使用PNG。 。 。 。 – 2013-05-12 09:06:34

+0

@ThilinaHewagama那並不那麼簡單。 – 2013-05-12 09:08:55

+0

就是這麼簡單.. – 2013-05-12 09:10:04

回答

0

由於H2CO3說並非如此簡單。每種格式都適合特定的要求,沒有成文法,我只能告訴你我做了什麼。

  1. 小部件的UI,如按鈕,圖標等:我通常使用PNG或PDF。您可以繼承UIView以繪製PDF矢量內容。帶PDF的優點在於,如果源代碼是矢量圖像,則無法關注物理邏輯點。
  2. 圖像或高分辨率圖像,如圖像的內容:在這種情況下,我使用JPG,因爲他們小尺寸的PNG方面。他們需要更多的解壓縮,但通常與PNG相比,尺寸要小得多。
  3. 一般PNG可以使用α,JPG沒有

形象是一個很大的話題,現在我總是想盡了辦法找到UI元素對稱和使用伸縮UIImages與PNG。 對於你的例子,我將使用PNG女巫可拉伸的左側和右側。您可以使用10像素圖像,而不是使用640像素圖像,可以使用可伸縮的右邊距和可拉伸的左邊距。
[更新]
應該說,如果你用伸縮圖像,你會得到很多性能提升,因爲圖像就會變小,你會佔用內存少的「盤」上,在較少的內存堆延伸到GPU拉伸和較少的解壓縮時間 。

+0

你怎麼能繼承UIView繪製PDF?你能舉出一個答案嗎? – 2013-05-12 10:23:58

+0

開發-drawRect並使用核心圖形檢查此;-) http://mattgemmell.com/2012/02/10/using-pdf-images-in-ios-apps/ – Andrea 2013-05-12 13:51:12

0

所以基本上最快的方法是使用PNG文件(可伸縮和普通),如果您使用的是PNG文件,也很容易改變設計並修復最終的錯誤。

當您使用PNG文件時,請嘗試減小PNG的大小(用於背景的可拉伸圖像)以獲得更好的性能和小尺寸的應用程序。

CoreGraphics更加複雜,如果您不知道自己在做什麼,可以添加奇怪的錯誤或性能問題,但也可以用於簡單的視圖樣式。

上,我已經做了我不只有這兩個中的一個使用的,因爲項目的複雜性,或者因爲我是懶得打開Photoshop,並添加提取一些設計每一個項目。