Изображения в интерфейсе Builder при использовании MonoTouch
Я новичок в разработке MonoTouch и iPhone. У меня есть мои изображения (PNG) в папке ресурсов в MonoDevelop, однако, если я хочу установить свойство изображения для кнопки в Interface Builder, как мне это сделать? Это всегда пустое раскрывающееся меню. Нужно ли мне использовать XCode для доступа к XIB файлу, а затем каким-то образом вставить файл образа кнопки, который мне понадобится?
Ответы
Ответ 1
Это известное ограничение MonoDevelop и Interface Builder. Чтобы добавить изображения в XIB в Interface Builder, они должны быть частью проекта XCode, который, конечно, из MonoDevelop, они не являются.
Чтобы достичь того, что вы пытаетесь сделать, вам нужно будет установить изображение с помощью кода и убедитесь, что для действия сборки вашего изображения установлено значение Контент. Для этого просто щелкните правой кнопкой мыши изображение внутри MonoDevelop и выберите "Построить действие" > "Содержимое".
На вашем представлении с помощью кнопки на нем создайте розетку в Interface Builder для вашей кнопки, подключите ее, затем от кода для установки изображения, вам просто нужно использовать метод .FromFile( "путь/имя" ) UIImage.
UIImage buttonImage = UIImage.FromFile ("resources/image.png");
myButton.SetBackgroundImage (buttonImage,UIControlState.Normal);
Это с моей головы, но я думаю, что это должно сделать.
Ответ 2
Вы можете вручную установить изображение в Interface Builder, но оно не будет отображаться до времени выполнения. Название изображения может включать в себя путь, например. "Изображения/settings.png".
Ответ 3
Все приведенные здесь решения полностью ошибочны и вводят в заблуждение. Все, что вам нужно сделать, - разместить изображения в папке "Ресурсы" (в корне проекта) и добавить изображения в эту папку. После добавления файлов в эту папку отметьте все файлы и убедитесь, что их действие сборки установлено в BundleResource.
Ответ 4
Мне тоже нужно было работать, вот обходной путь, который я нашел.
Вам нужно создать проект фиктивного xcode. Поместите его в ту же папку, что и ваш проект.
Добавьте все ваши xib файлы и файлы изображений в этот проект xcode, перетащив их, когда проект открывается в xcode. Теперь вы сможете просмотреть предварительный просмотр изображений.
Файлы изображений должны находиться в той же папке, что и файл проекта, и xcode должен быть открыт с помощью фиктивного проекта, когда открывается конструктор интерфейса.
Не очень - но сейчас решает проблему.
Здесь - образец проекта, который я создал.
Чтобы решить эту проблему на стороне MonoDevelop, необходимо создать код взаимодействия между процессами, я думаю, что хорошей отправной точкой будет поиск "PBXProjectWatcherServerConnection-3.1.2" в google.