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?