2010-08-30 2 views
0

Загрузите образец IKImageBrowserView с именем «IKImageKit Demo» с официального сайта Apple.IKImageBrowserView Thumbnail Problem

Но я нахожу проблему.

Например:

Когда я импортировать изображения из папки с именем «А», то я удалю изображение.

Затем я импортировать другие изображения (имя, такой же, как удаляемого изображения), эскиз в

IKImageBrowser не изменится.

Как я могу решить эту проблему ?? Благодаря!

дисплей Видео: http://www.youtube.com/watch?v=f3Jue9wOdUI

ответ

2

Update: Ого, старый пост. Похоже, что документация была обновлена ​​через некоторое время после того, как я опубликовал ее; как показывают другие ответы, похоже, вам необходимо увеличить изображение imageVersion, чтобы обновить изображение из кеша.


После обдумывать проблемы в течение почти трех часов (как только я начал, это было действительно пристанет меня тоже!), Я пришел к печальному выводу, что это ошибка в том, как IKImageKit обрабатывает изображения. IKImageBrowserView имеет кэш изображений и миниатюр, и из любых экспериментальных данных, которые у меня есть, я предполагаю, что он просто кэширует свои изображения на основе местоположения на диске, а не на данных изображения (чтобы он мог загружать данные лениво, я думаю) , поэтому даже если фактические данные изображения могут измениться, перезагрузка одного и того же файла не приведет к обновлению самого изображения.

Конечно, я мог быть совершенно неправ, что меня не удивило бы, так как буквально нет документации по этому вопросу, поэтому у меня нет ничего, кроме результатов из Инструментов и самого приложения, чтобы вести меня, но мой совет вам это игнорировать проблему на данный момент, поскольку вы ничего не можете с этим поделать и, возможно, зарегистрируете ошибку с Apple.

Конечно, если кто-нибудь может представить другие доказательства об этом, пожалуйста, сделайте! Мне бы хотелось узнать больше об этом.
Удачи!

+0

Это не ошибка. Вы должны увеличить imageVersion IKImageBrowserItem. –

8

Я столкнулся с ссылкой, в которой говорится, что внутренний кеш IKImageBrowserView использует эскизы изображений с помощью ImageUID. Поэтому, если вы измените ImageUID, что ваш источник данных вернется, чтобы быть чем-то иным, чем просто имя файла (возможно, имя файла + размер файла), тогда он будет рассматриваться как другое изображение.

+1

Да, ты прав. Это устраняет проблему. Вы должны получить кредит за этот ответ! – Ben

3

Вы должны взглянуть на метод imageVersion протокола IKImageBrowserItem. Если вы хотите, чтобы IKImageBrowserView знал, что элемент изменил свое изображение, вы можете увеличить изображение. Это заставит представление обновить кэшированное изображение.

0

вам необходимо обновить изображение или изменить изображение пути. , если вы удалите изображение с именем «1.png» после того, как вы поместите изображение, если это имя «1.png», изображение в браузере изображений показывает предыдущее изображение, чтобы вы позаботились об именовании изображений. или imageVersion.