Используя monotouch и monodevelop, я бы хотел создать пользовательский элемент управления.
Я следовал за этими шагами:
- добавить новый файл как «iPhone View» (называя его TestView)
- редактировать TestView.xib в Интерфейсном Разработчике, es. изменение фона и размера
- Отредактируйте MainWindow.xib в Интерфейсном Разработчике, добавив UIView и установив его идентификатор класса как «TestView».
На этом этапе я бы хотел запустить приложение и увидеть в UIView MainWindow содержимое экземпляра TestView.
Чтобы получить эту «привязку», я попытался выполнить несколько шагов (я знаю, что это можно сделать с помощью кода, создающего торговые точки и т. Д., Но я хотел бы понять, можно ли это сделать с помощью Интерфейсного конструктора).
В одном из опробованных методов я установил через Interface Builder значение «TestView» в качестве идентификатора класса в представлении TestView.xib: таким образом MonoTouch создал код в TestView.xib.designer.cs.
[MonoTouch.Foundation.Register("TestView7")]
public partial class TestView7 {
}
Затем в TestView.xib.cs я добавил:
public partial class TestView : UIView
{
public TestView (IntPtr p) : base(p)
{
}
}
Когда я запускаю приложение, я не вижу в представлении MainWindow содержимое TestView, но если в конструкторе TestView я добавляю что-то вроде
BackgroundColor = UIColor.Yellow;
тогда я вижу TestView в MainWindow ... или, что еще лучше, я вижу только желтый прямоугольник, а не реальное содержимое!
Итак, проблема в том, что TestView привязан к UIView в MainWindow, но его содержимое происходит только из кода, а не из содержимого, определенного через Interface Builder в TestView.xib.
Есть ли способ загрузить контент из TestView.xib?