Работа с изображениями с MonoDevelop и IB ... очень разочарован этим ... - PullRequest
0 голосов
/ 08 февраля 2012

Я очень разочарован тем, что MD и IB, кажется, не работают вместе с изображениями. Позвольте мне объяснить.

У нас есть особый внешний вид для нашего приложения для iPad, и с большинством наших элементов управления связано какое-то изображение (будь то через код .CS или назначенное в IB).

Когда я импортирую изображение в папку «images» в проекте в MonoDevelop, я дважды щелкаю свой XIB, чтобы открыть в IB и работать с представлением визуально. Я ожидаю, что увидит изображение, которое я только что импортировал в MD, в раскрывающемся меню Image для моего ImageView ... однако я не вижу и также не вижу ссылок на изображения, которых больше нет в проекте (что я удалил).

Есть ли какой-нибудь механизм кеширования в Xcode / IB, который я не использую? Я перепробовал все, что мог придумать ... Очистить все ... Построить все в MD ... Очистить в IB ... кажется, что ничто не помогает синхронизировать списки моих проектов из MD в IB ... удалить изображение ... повторно импортировать в MD ... импорт в IB ... кажется, что ничто не вызывает "синхронизацию" этих файлов.

Другой человек работал над проектом и только что закончил сбрасывать изображения в корень проекта, что мне не нравится (так как я не хочу, чтобы другие мои разработчики вынуждены были просматривать файлы JPG / PNG) ... так что я (предполагая, что MD был по крайней мере достаточно умен, чтобы сохранить ссылки нетронутыми) перетаскивал изображения в корневой каталог проекта в указанную папку "images" ... теперь ни одно из назначенных нами изображений IB не появляется в iPad приложение, и мы получаем

"Не удалось загрузить изображение, на которое ссылается перо в пакете с идентификатором" com.yourcompany.compassipad ""

ошибка на каждом изображении в проекте.

Пожалуйста, ради любви ко всему святому, кто-нибудь может мне это объяснить? Я озадачен и расстроен этим.

1 Ответ

3 голосов
/ 08 февраля 2012

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

В настоящее время обходной путь - всегда помещать ваши изображения на верхний уровень вашего проекта MonoDevelop.тоже.

Мы планируем внедрить папку «Ресурсы» в MonoDevelop, чтобы вы могли размещать свои изображения и другие ресурсы, на которые вам нужен Xcode, чтобы вы могли поддерживать чистоту каталогов верхнего уровня,но это еще не было реализовано.

Что касается старых изображений, появляющихся в выпадающих списках в XCode, я не уверен, что там происходит.Вы можете попробовать удалить каталог 'obj' в вашем проекте (он содержит временные объектные файлы и временный проект Xcode).MonoDevelop воссоздаст эту папку и создаст новый проект Xcode, если дважды щелкнуть файл .xib.

...