3
在我的應用程序中,我試圖在使用自定義動畫的同時切換每個都是自己的XIB的視圖。我做了一個基本視圖控制器作爲父視圖來保存所有的代碼,但我似乎無法得到這個工作。兒童視圖控制器必須有一個共同的父視圖控制器?
我爲我的應用程序和界面生成器中的所有視圖控制器製作了IBOutlet,我將插座連接到適當的控制器。每個控制器都加載正確的XIB,所以沒有問題。問題在於以下更改視圖代碼。
這是我的代碼:
-(void)changeViews {
CGRect frame = self.view.frame;
frame.origin.x = CGRectGetMaxX(frame);
theView4.view.frame = frame;
[self.view addSubview:theView4.view];
[self addChildViewController:theView4];
[self transitionFromViewController:theView1
toViewController:theView4
duration:1
options:UIViewAnimationOptionTransitionNone
animations: ^{
CGRect frame = self.view.frame;
theView4.view.frame = frame;
frame.origin.x -= frame.size.width;
self.view.frame = frame;
}
completion:completion:nil];
這是控制檯崩潰:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Children view controllers <MyGameViewController: 0x1dd25210> and <Settings: 0x1dd249d0> must have a common parent view controller when calling -[UIViewController transitionFromViewController:toViewController:duration:options:animations:completion:]'
有誰知道如何解決這一問題?
謝謝!
「設置」類究竟是什麼?它是如何定義的? – Stavash 2012-04-17 11:49:41
settings類是一個UIViewController,在頭文件中聲明,settered和gettered,並連接到Interface Builder中的View Controller插座,該插座通過其屬性連接到Settings nib和Class。 – 2012-04-18 21:16:01