是否有可能(根本)加載具有自定義AnimationTransition的XIB?使用自定義轉換加載XIB?
我所做的是創建一個「覆蓋」屏幕的動畫,我想要的是在動畫完成播放後,我希望它顯示新的XIB。
我似乎無法找到任何適當的解決方案...任何想法?
要更清楚:按下按鈕 - >播放動畫(封面) - >加載XIB。
再次問候!是的,你描述的最後一種方式就是我正在做這件事的方式。我有兩個UIViews(可能是錯誤已經存在),被放置關閉邊界的兩邊,(如X.-160.y.0和x.320y.0)
-(IBAction) leftDoor{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationDelegate:self];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
closeDoor1.center = CGPointMake(closeDoor1.center.x +160, closeDoor1.center.y);
[UIView commitAnimations];
}
-(IBAction) rightDoor{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationDelegate:self];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
closeDoor2.center = CGPointMake(closeDoor2.center.x -160, closeDoor2.center.y);
[UIView commitAnimations];
}
所以,我我要做的不是「拆分」當前的視圖,然後打開一個新的XIB,我搜索的效果是一個「閉幕式」效果,這就是爲什麼我使用UIView(以爲我把圖形放在那些頂部,比如兩個ImageViews)。然後,爲了加載新的XIB ...這是我真的困惑的地方。我嘗試這種方法的第一種方法是製作三個IBActions,包括上面提到的兩個IBAction,然後將所有三個(多個動作)應用於一個按鈕。因此,對於切換視圖我做了這樣的事情:` - (IBAction爲)newViewDisplay:(ID)發送{
theView *newViewController = [[theView alloc]
initWithNibName:@"theView" bundle:nil];
[self.view addSubview:newViewController.view];
} `
正如你所說,這也許是在我的頭上,但如果我剛剛有一些方向,我會走英里做這項工作。這真的會讓我的應用程序煥然一新。非常感謝您花時間回答我的問題,一切順利/安迪
什麼是XIB?它是視圖控制器還是視圖等?然後你需要加載它。之後,您可以應用動畫。 – 2011-05-29 19:19:56
它是一個ViewController。那麼,如果我先加載它,我是否會在代碼中聲明動畫?在功能內? Sry,有點困惑......謝謝! – andy 2011-05-29 20:25:14
雅,你加載它,添加一個動畫塊,然後在屏幕上設置新視圖的動畫。 – 2011-05-29 21:41:52