[英]ViewDidLoad not being called with my custom UIViewController
我創建了一個自定義的UIViewController類,它在運行時創建ScrollView,並將其加載到視圖中。 請參閱我的自定義UIViewController的構造函數中的代碼。
initControl(id, canEdit);
_controllers = new NSMutableArray(0); //required to keep view controllers around
_scrollView = new UIScrollView();
_scrollView.BackgroundColor = UIColor.Green;
this.View = _scrollView;
ViewDidAppear和ViewWillAppear被正常調用。
ViewDidLoad沒有被調用,我不知道為什么因為視圖顯示在屏幕上就好了。
有任何想法嗎?
訪問self.view時正在調用viewDidLoad方法
例子:
1)
- (id) init {
self = [super init];
if (self)
{
...
[self.view addSubview: self.toolbar];
}
}
2)
viewContrl = [[MyViewController alloc] init];
viewContrl.view = webTopView;
3)
viewContrl = [[MyViewController alloc] init];
[viewContrl.view addSubview: webTopView];
分配視圖時會調用ViewDidLoad。 因此,如果您要分配視圖一次並且每次僅使用addSubview添加,那么它僅首次調用。 如果你想在每次添加它時調用它,那么你需要每次都分配它。 如果已經分配了視圖,還可以在分配視圖之前釋放視圖來處理內存管理。 另一種方法是創建一個方法,其中包含您要執行的操作並在addSubview之后調用它。 它可以解決您的問題,如果您有任何疑問,請隨時問我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.