我有一個自定義故事板segue動畫,但它沒有以我想要的方式出現。我不想在視圖控制器中「擦除」,而是希望它將當前視圖控制器與旁邊的新視圖控制器「推開」。 (不像推播,更像是在照片上滑動時在照片應用中看到的效果)。有任何想法嗎?謝謝。定製故事板Segue
- (void)perform {
UIViewController *currentViewController = self.sourceViewController;
UIViewController *newViewController = self.destinationViewController;
[currentViewController.view addSubview:newViewController.view];
newViewController.view.transform = CGAffineTransformMakeScale(0.05, 0.05);
CGPoint originalCenter = newViewController.view.center;
newViewController.view.center = self.originatingPoint;
[UIView animateWithDuration:1.9
delay:0.0
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
newViewController.view.transform = CGAffineTransformMakeScale(1.0, 100.0);
newViewController.view.center = originalCenter;
}
completion:^(BOOL finished){
[newViewController.view removeFromSuperview]; // remove from temp super view
[currentViewController presentViewController:newViewController animated:NO completion:NULL]; // present VC
}];
}
那麼你發佈的代碼是不是工作? – meda
我建議只使用[currentViewController presentViewController:newViewController animated:YES completion:nil]; 使用UIViewAnimationOptionCurve進行自定義動畫時,它只會執行頁面滑動動畫,而不會從左向右滑動。 –
@meda這個幻燈片在當前視圖控制器之上的新視圖控制器中,我想讓它將新視圖控制器和當前視圖控制器推出。 – user3186310