Я пытаюсь выяснить из Apple отрывочную документацию, какой метод является лучшим местом для инициализации и добавления элементов управления Views просмотра контроллера.
С winforms это довольно просто, так как они всегда инициализируются внутри InitializeDesigner
, вызываемые в конструкторе. Я стараюсь соответствовать надежности этого шаблона, если это возможно.
Я работаю с UIViewControllers
и UITableViewControllers
внутри UINavigationController
большую часть времени - если это все это влияет.
Вот пример:
public MyController()
{
// Here?
AddViews();
}
public override ViewDidLoad()
{
base.ViewDidLoad();
// Or is should it be here?
AddViews();
}
public override ViewWillAppear(bool )
{
base.ViewWillAppear(animated);
// Here?
AddViews();
}
public override ViewDidAppear(bool animated)
{
base.ViewDidLoad(animated);
// Or maybe here?
AddViews();
}
void AddViews()
{
UILabel label = new UILabel();
label.Text = "Test";
label.Frame = new RectangleF(100,100,100,26);
View.AddSubView(label);
UIWebView webview = new UIWebView();
webview .Frame = new RectangleF(100,100,100,26);
View.AddSubView(webview);
}
Я получаю смешанные результаты с некоторыми UIControls, когда добавляю их в представление в разных местах. Иногда наблюдается визуальное отставание, в то время как веб-просмотр где-то скрыт.
Есть ли общее правило для их добавления?