2009-09-13 53 views
0

我正在爲iPhone編寫紙牌遊戲,而且我不確定顯示卡片的最佳策略。我有一個基本的原型,創建一個UIImageView,可以用虛擬圖像拖動每張卡片。我想使用一個包含所有卡片的面的大UIImage,然後讓每個可拖動的UIImageView顯示該圖像的一部分。我必須誤解setBounds是什麼 - 我認爲控制了底層圖像的哪一部分被顯示。所以,有兩個問題:iPhone應用程序中的圖像策略

  1. 這是正確的做法嗎?
  2. 如何僅顯示圖像的一部分?

回答

1

根據您的決議,這可能不是最好的方法。

Apple

應避免創建的UIImage 對象的大小大於1024×1024 的。除了這種圖像消耗的大量內存 之外,當將圖像用作OpenGL ES中的紋理時使用 ,或者在將圖像繪製到視圖或 層時,您可能會遇到問題。如果您正在執行基於代碼的 操作(如將大於1024 x 1024像素的 圖像調整爲由位圖支持的 圖形上下文),則此大小限制不適用於 。實際上,您可能需要將 (或將其分成幾個較小的 圖像)以這種方式調整圖像大小,以便將其繪製到您的視圖中的其中一個 。

現在,你是在談論分解成若干小片段,但考慮的UIImage的緩存,我不知道該怎麼內存每次訪問該圖像並複製子矩形出來的時候發生的。我認爲我要採取的方法是製作一組圖像,而不是一個大的圖像。