Свойство пользовательского класса раскадровки больше не генерирует пользовательский класс в Xamarin? - PullRequest
2 голосов
/ 12 января 2020

Я использую Visual Studio для Ma c и проектирую свой пользовательский интерфейс в раскадровке, используя конструктор интерфейса Xcode.

Я пытаюсь создать собственный класс UILabel и обычно просто выбираю управляйте и добавляйте мое пользовательское имя класса в свойстве класса в xcode, и когда xcode синхронизируется с Xamarin, пользовательский класс генерируется как новый файл в проекте xamarin, но это перестало работать.

На самом деле, похоже, перестали синхронизироваться все вместе. Есть ли какие-нибудь журналы, которые я могу проверить, чтобы понять почему? Я перезапустил xcode. Visual Studio для Ma c, очистил проект, удалил папки bin и obj из активного проекта и перезагрузил компьютер безуспешно.

Любые советы очень ценятся!

Ответы [ 2 ]

1 голос
/ 24 января 2020

Я тоже люблю свой XCode! Вместо того, что вы делали раньше, вы можете

  1. Открыть файл в конструкторе интерфейса Xcode, как обычно, с меткой
  2. Найти и открыть файл ABCViewController.h в другом XCode окно.
  3. Удерживайте control на клавиатуре, нажмите на ярлык на GUI и перетащите его в файл ABCViewController.h, после чего вам будет предложено создать розетку и назвать класс.
  4. Сохраните и выйдите, и вы должны увидеть новые свойства в вашем ABCViewController.designer.cs файле

После обновления определенно возникла новая проблема, которую вы также можете увидеть здесь

1 голос
/ 14 января 2020

Мой ответ - обходной путь, а не верный, так как он никогда не работал для меня. Я всегда использовал Xamarin iOS Designer для создания собственного класса, затем после генерации файла закрываю xib / storyboard и снова открываю в Xcode Interface Builder. Двойная проверка для тега [Register ("ClassName"] `.

Выберите метку в iOS Дизайнер: Select Label in iOS Designer

View -> Pads -> Properties Добавить имя класса в поле Class: Custom class entry

Должен увидеть пользовательский класс, автоматически сгенерированный в SolutionExplorer: enter image description here

Убедитесь, что в файле .designer.cs есть метка регистрации: enter image description here

Теперь вы можете закрыть .xib в VS для Ma c и повторного открытия в Xcode. Вероятно, он не будет автозаполняться. Но любые созданные вами Outlets будут экземпляром вашего пользовательского класса, а также любые пользовательские атрибуты, указанные в файлах .cs, будут применяться во время выполнения. удобно, как создание собственного класса с Xcode, но по крайней мере теперь вы можете использовать свой собственный класс с Xcode Interface Builder.

...