私は、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);
}
いくつかの UIControl を別の場所でビューに追加すると、さまざまな結果が得られます。視覚的な遅延が発生することもあれば、Web ビューがどこかに隠されていることもあります。
それらを追加するための一般的な規則はありますか?