Мне нужно создать IBOutlet и IBActions без использования Interface Builder. Как я могу это сделать?Monotouch: Создайте IBOutlet и действия программно
Заранее спасибо. С уважением.
Мне нужно создать IBOutlet и IBActions без использования Interface Builder. Как я могу это сделать?Monotouch: Создайте IBOutlet и действия программно
Заранее спасибо. С уважением.
Я не знаю, как вы планируете подключения IBOutlet или IBAction без подложки кончика пера, но вы можете создать необходимые биты вручную.
IBActions - это всего лишь интерфейс, способный украшать контракт с селектором с реализацией. Вы можете вручную создать метод, связанный с селектором на следующем примере кода:
[Export ("someMethod:")]
public void SomeMethod (int arg) {
}
IBOutlets только интерфейс строителей способ украшения переменные экземпляра (Ивар). Ivars выставляются генератором кода monotouch в качестве свойств, поэтому мы можем лениво запросить встроенное хранилище прокси-сервера и не нужно маршалировать значение в каждой точке перехода. Вы можете вручную создать переменную экземпляра на прокси-класса на следующем примере кода:
[Connect("varname")]
private NSObject varname {
get {
return ((NSObject) (this.GetNativeField("varname")));
}
set {
this.SetNativeField("varname", value);
}
}
Внимательные читатели заметят, что генератор кода MT генерирует несколько иной код:
private NSObject __mt_varname;
[Connect("varname")]
private NSObject varname {
get {
this.__mt_varname = ((NSObject) (this.GetNativeField("varname")));
return this.__mt_varname;
}
set {
this.__mt_varname = value;
this.SetNativeField("varname", value);
}
}
Если вы болтаться любое состояние от объекта, который вы храните в родном поле, вам также потребуется использовать эту конструкцию, поэтому сборщик мусора видит ссылку.
Так я думаю, что вы хотите пойти XIB менее, у вас есть 2 варианта
or use Miguel's MonoTouch.Dialog
Этот 2 статьи настроит Вас на любом пути.
Alex