Добавление розеток в iPhone View - PullRequest
3 голосов
/ 26 февраля 2012

Я создаю пользовательский iPhone View в MonoTouch через конструктор интерфейсов в XCode (В monodevelop New File -> MonoTouch -> iPhone View).

При выборе нового iPhone View он создает файл xib, но файл .h не создается, так как я могу создавать розетки?

Обычно я перетаскиваю розетку с метки / кнопки и т. Д. В файл .h, но поскольку для этого представления его не существует, я не знаю, как создать розетки.

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

Ответы [ 2 ]

2 голосов
/ 27 февраля 2012

Когда вы дважды щелкаете по .xib в MonoDevelop, MonoDevelop создаст файлы заголовков для ваших классов [Register] 'd C #, которые подклассируют типы ObjC, и экспортирует их во временный проект Xcode, где вы можете использовать Xcode для перетаскивания Outlets и Действия.

Добавление нового файла iPhone View (.xib) не создает автоматически какие-либо вспомогательные классы C # для вас, оно просто создает .xib, поэтому MonoDevelop не генерирует для вас никаких заголовочных файлов, когда вы дважды щелкните .xib.

Когда Xcode запускается, вы можете вручную создать некоторые заголовки Objective-C для этого .xib и перетаскивать на него точки или действия (или вы можете создавать классы C # в MonoDevelop перед двойным щелчком на .xib). Когда вы переключаетесь обратно в MonoDevelop, MonoDevelop будет «импортировать» файлы заголовков, переводя их в эквивалент C #.

Находясь в Xcode, вы также можете добавить туда файлы .xib, и MonoDevelop также импортирует их.

1 голос
/ 26 февраля 2012

В документации Xamarin есть хороший учебник по этому вопросу. Есть раздел для Добавление розеток и действий в пользовательский интерфейс с использованием Interface Builder в Xcode4

Добавление розетки Для создания розетки используйте следующее Процедура: * +1010 *

  1. Определите, для какого элемента управления вы хотите розетку.
  2. Удерживая нажатой клавишу Control на клавиатуре, а затем перетащите из элемента управления в пустое место в файле кода после @interface определение.
...