Нужно ли программным способом добавлять подвиды в ViewDidAppear, ViewDidLoad, ViewWillAppear, в конструктор?

Я пытаюсь понять, от 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, когда я добавляю их в представление в разных местах. Визуальное отставание иногда, иногда веб-просмотр спрятан где-то.

Существует ли общее правило для добавления их?

Ответы на вопрос(3)

Ваш ответ на вопрос