2010-08-30 83 views
0

我從Apple官方網站下載了名爲「IKImageKit Demo」的IKImageBrowserView示例。IKImageBrowserView縮略圖問題

但我發現一個問題。

例如:

當我從導入名爲「A」文件夾中的圖像,然後刪除圖片。

然後我導入其他圖像(名稱與已刪除圖像相同),在

IKImageBrowser縮略圖不會改變。

我該如何解決這個問題?謝謝!

視頻顯示:http://www.youtube.com/watch?v=f3Jue9wOdUI

回答

2

更新:哇,老崗位。看起來在文檔發佈後我已經更新了一段時間;正如其他答案所示,看起來您需要增加圖像的imageVersion以更新緩存中的圖像。


思索這個問題了近三個小時(一旦我開始,當時真是煩我呢!)之後,我來到了可悲的結論,那就是如何處理IKImageKit圖像的錯誤。 IKImageBrowserView擁有緩存的圖像和縮略圖,並且根據我擁有的任何實驗數據,我猜測它只是基於磁盤上的位置緩存其圖像,而不是基於圖像數據(因此我猜可能會延遲加載數據) ,所以即使實際的圖像數據可以改變,重新加載相同的文件位置也不會更新圖像本身。

當然,我可能是完全錯誤的 - 這不會讓我感到意外,因爲在這個問題上幾乎沒有任何文檔,所以除了樂器和應用程序本身的結果,我沒有什麼可以指導我 - 但是我對你的建議現在是忽略這個問題,因爲你無能爲力,並且可能會向蘋果公司提交這個bug。

當然,如果有人可以介紹其他關於此的證據,請做!我很想知道更多。
祝你好運!

+0

這不是一個錯誤。你必須增加IKImageBrowserItem的imageVersion。 – 2013-05-13 15:25:09

8

我遇到了一個引用,表示內部緩存IKImageBrowserView使用ImageUID查找縮略圖。因此,如果您將數據源返回的ImageUID更改爲除文件名(可能是文件名+文件大小)以外的其他內容,則會將其視爲不同的圖像。

+1

是的,你說得對。這解決了這個問題。你應該得到這個答案的榮譽! – Ben 2010-11-18 04:47:33

3

你應該看看IKImageBrowserItem協議的imageVersion方法。如果您需要讓IKImageBrowserView知道某個項目已更改其圖像,則可以增加imageVersion。這將強制視圖更新緩存的圖像。

0

你應該想要imageVersion更新或命名路徑的圖像。 如果您在名稱爲「1.png」後放置圖像時刪除名稱爲「1.png」的圖像,則圖像瀏覽器視圖會顯示上一張圖像,因此您應該注意圖像命名。或imageVersion方法。