我試圖從蘋果的sketchy文檔中找出哪種方法是最好的地方是初始化和添加我的視圖控制到控制器的視圖。我是否以編程方式在ViewDidAppear,ViewDidLoad,ViewWillAppear,構造函數中添加SubViews?
使用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混合的結果,當我將它們添加到在不同的地方查看。視覺滯後有時,othertimes webview被隱藏在某處。
是否有一個通用規則來保持添加它們?
另請參閱:http://stackoverflow.com/questions/573958/iphone-sdk-what-is-the-difference-between-loadview-and-viewdidload – 2010-02-17 13:05:29