所以我有一個UIViewController
裏面的UIViewController
和UIViewController
裏面,我試圖調整它的框架。但是,當我撥打setFrame:
時,它會調用該特定視圖控制器的viewDidLoad
,我正在嘗試調整幀。但那時frameSize
不是我設定的那個。在這個viewDidLoad
我也調用一個叫做loadDataFromServer
的私有方法,它首先從內存中提取數據,然後調用服務器。因爲它從內存加載數據,所以它確實很快,基本上在viewDidLoad完成之前,因此幀大小尚未調整。因此,我首先看到大小/佈局錯誤的視圖,然後在從服務器獲取數據後進行調整,此時viewDidLoad
已完成且幀調整良好。viewDidLoad和設置UIViewControllerContainment中的幀大小
如果我將loadDataFromServer
呼叫移動到viewDidAppear
那麼一切都很正常。事情是,我不知道什麼時候調用viewDidAppear
。它是否在viewDidLoad
之後被調用一次?或者在viewWillAppear
之後調用?任何想法/解決這個?
ContainerViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"ContainerViewController"];
vc.delegate = self;
UINavigationController *newsfeedNavController = [[UINavigationController alloc] initWithRootViewController:vc];
[self addChildViewController:newsfeedNavController];
newsfeedNavController.view.frame = CGRectMake(0, 0, self.view.frameWidth, self.view.frameHeight);
[self.view addSubview:newsfeedNavController.view];
[newsfeedNavController didMoveToParentViewController:self];
[newsfeedNavController release];
因爲我需要一些邏輯,它只是不是一個視圖。 – xonegirlz 2012-07-06 16:30:20
你試圖完成什麼? – 2012-07-06 16:32:22
我有一個containerviewcontroller和一個feedsviewcontroller,這個feedsviewcontroller有一些邏輯,並用作其他視圖控制器的子視圖。 – xonegirlz 2012-07-06 16:37:13