Eu adiciono programaticamente SubViews em ViewDidAppear, ViewDidLoad, ViewWillAppear, o construtor?

Estou tentando descobrir da Appleesboçado documentar qual método é o melhor local para inicializar e adicionar meus controles Views à exibição do controlador.

Com as formas de win, é bastante simples, pois elas sempre são inicializadasInitializeDesigner, chamado no construtor. Estou tentando igualar a confiabilidade desse padrão, se possível.

Estou trabalhando comUIViewControllers eUITableViewControllers dentro de umUINavigationController na maioria das vezes - se isso afeta tudo.

Aqui está um exemplo:

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);
}

Eu obtenho resultados mistos com alguns UIControls quando os adiciono à visualização em locais diferentes. Atraso visual às vezes, outras vezes, a visualização na web fica oculta em algum lugar.

Existe uma regra geral a seguir para adicioná-los?

questionAnswers(3)

yourAnswerToTheQuestion