2011-12-21 1 views
2

Я заметил проблему в XCode 4.2, где некоторые локализованные NIB не загружают правильное изображение из соответствующего языкового пакета.Локализованный NIB не загружает локализованную версию изображения в XCode4

В одном из моих контроллеров у меня есть несколько видов изображений. В английской версии я заметил, что некоторые образы изображений захватывают французскую версию изображений, которые должны быть загружены на них. То же самое происходит с французской версией NIB.

Я, очевидно, дважды проверил свои ресурсы изображения и подтвердил правильность сохранения французских изображений в папках «en.lproj» и «fr.lproj».

Кто-нибудь сталкивался с этим вопросом раньше? Самый большой головной уборщик каждый раз, когда я запускаю проект, будь то в симуляторе или на самом телефоне, изображения кажутся флип-флоп последовательно. У меня даже нет ручных вызовов в моем контроллере для загрузки изображений. Все изображения задаются только через NIB.

+0

ли это проблема всегда возникает с одинаковыми изображениями? –

+0

Сначала я подумал, да. Я попытался воссоздать NIB и вручную добавить локализованные изображения. Некоторое время изображения будут загружаться штрафом в NIB, когда я открою его в IB. Как только я запустил проект, сборка симулятора/iPhone будет загружать только некоторые изображения. Как только я открываю поврежденный NIB в XCode, некоторые из изображений теперь отображаются на французском языке (другие изображения не затрагиваются, хотя). Пораженные изображения также случайны. Я действительно очень близок к простому ручному вызову в моем коде для загрузки правильного изображения. :-( – Moonjock

+0

Вы нашли решение? У меня такая же проблема :( – mrmuggles

ответ

0

Если вы локализировали ресурс после его включения в сборку, то неароматизированная версия ресурса останется в встроенном приложении. Восстановление приложения только добавляет новые файлы и обновляет отредактированные файлы, но не удаляет удаленные файлы.

Чтобы решить эту проблему в тренажере, вы можете открыть Организатор (Window>Organizer), выберите вкладку Projects и удалите полученные данные вашего проекта, а затем восстановить.

Чтобы решить эту проблему на вашем устройстве, вы можете удалить приложение, очистить свои продукты (Product>Clean), а затем перестроить.

+0

Привет, Николас, я просто попробовал Организатор> Проекты> Удалить метод получения данных. Это не помогло. Я также удалил фактическое приложение с устройства несколько раз (я практически делаю новую сборку каждый раз в устройстве и симуляторе). По-прежнему не повезло :-( – Moonjock

+0

Мне просто интересно, если я локализую NIB, это должно технически загружать локализованную версию изображения слишком правильно? То есть, я должен увидеть французскую версию моего nib, загружая французские изображения, правильно? – Moonjock

0

У меня такая же проблема, и единственным решением, которое я нашел, было удаление локализации изображений и загрузка их.

UIImage *img = [UIImage imageNamed:NSLocalizedString (@"imageOne.png", @"Main Image")]; 

И в ваших Localizble.strings (испанский), например, вы пишете:

"imageOne.png" = "imageOne_es.png"; 

И Localizble.strings (английский):

"imageOne.png" = "imageOne_en.png";