我正在研究一個iPad應用程序,它在背景主視圖前有一個小的彈出視圖。帶動畫切換視圖UIViewAnimationTransitionCurlUp
彈出視圖顯示一張照片及其相關注意事項等,主要的觀點是一堆縮略圖的
我想要實現的操作,如向左掃/右,有一個新的彈出視圖替換彈出視圖,與動畫。
// popView is the existing pop up view to be replaced
MyPopupViewController *newPopView = [[MyPopupViewController alloc] initWithData:...];
[UIView animateWithDuration:0.4
delay:0
options:UIViewAnimationOptionCurveEaseInOut
animations: ^{
[self.view addSubView: newPopView.view];
[popView removeFromSuperView];
[UIView setAnimationTransition: UIViewAnimationTransitionCurlUp
forView:popView cache:YES];
} completion:^(BOOL finished) { popView = newPopView }
];
[newPopView release];
嗯,這是行不通的。我無法刪除動畫塊中的舊視圖,否則動畫將無法啓動。我無法在完成塊中將其刪除,因爲在動畫過程中,舊圖像在其自身下仍然可見。
我已經花了很長時間玩這些序列,但卻無法讓它工作。請幫忙。
在此先感謝。 獅子座
第一:代碼「popView = newPopView」分配指針。因此[newPopView版本]也會釋放popView。第二:你的意思是「舊圖像仍然可以看到」?第三:你有沒有想過使用performSelector:withObject:afterDelay:? – dasdom 2011-06-01 10:56:03
感謝您的回覆。 1)是的,但addSubView會保留新視圖; 2)在動畫期間顯示的視圖仍然是舊觀點。視圖切換實際發生在動畫完成後; 3)不,我沒有。我不需要拖延任何事情,實際上我想提出新觀點的外觀 – leo 2011-06-01 11:38:05