2013-06-02 1 views
4

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

Первое, что у меня есть несколько UIButtons в моем приложении, но нет текста, просто фоновых изображений. Эти изображения локализованы на 6 языках. Проблема в том, что при редактировании представлений в раскадровке я вижу, что каждая кнопка загружает изображение случайным образом (иногда на английском, другие на испанском, другие на русском ...). Это должно быть все на английском языке, так как у меня есть ключ: CFBundleDevelopmentRegion ru

Просмотреть изображение. Я думаю, что все настроено правильно. Вы видите что-то странное? Возможно, это ошибка Xcode.

enter image description here

enter image description here

enter image description here

Вторая проблема заключается в том, что я использую авто макеты. Причина в том, что изображения в этих кнопках имеют разный размер в зависимости от языка. Таким образом, по мере изменения размера содержимого intrinsec изменяется ширина кнопки (поскольку ограничение ширины отсутствует). Проблема заключается в том, что если я выберу кнопку, нажмите кнопку «Размер для установки содержимого», чтобы удалить ограничение ширины, кажется, что она работает отлично (когда я запускаю приложение на разных языках, ширина изменяется автоматически в зависимости от на языке), но, когда раскадровка загружает изображение на другом языке (первая проблема), кажется, что автомат автоматически добавляет ограничение ширины, а затем, когда я снова запускаю приложение, ширина кнопки на большинстве языков неверна. Вы не знаете, что происходит?

Очень грязное обходное решение, возможно, заключается в создании потомка UIButton, который удаляет любую нагрузку с ограничением ширины. Не знаю, работает ли это.

Я ценю ваши идеи относительно этих проблем.

ответ

2

Это, похоже, ошибка в Xcode, но это не влияет на окончательное приложение.

Я сделал следующее. Начал новый проект Xcode. Я использовал раскадровки с автоматической компоновкой. Я не использовал базовую интернационализацию.

Я добавил 3 кнопки к главному виду. Затем я создал 3 изображения для использования с кнопками и добавил их в группу ресурсов. Я сохранил файлы PNG в папке en.lproj с помощью раскадровки. Сначала я получил английскую версию.

Затем я пошел в проект и добавил французский. Он создал диалог для всех файлов, которые, по его мнению, должны быть локализованы, и в него были включены PNG-файлы. Он скопировал их все в папку fr.lproj. Затем я создал французские версии PNG-файлов и сохранил их с исходными именами файлов в папке fr.lproj.

При просмотре в Xcode только одна из кнопок была французской. Остальные были англичанами.

Когда я запускал приложение в симуляторе, правильные PNG использовались при переключении языка.

Это раздражает, но не влияет на приложение при его запуске.

Выход из Xcode и его повторное запуск изменяют, какие из них правильные, но все еще работают неправильно. Вероятно, вы должны отправить ошибку RADAR с Apple. http://bugreporter.apple.com/