我有一个自定义故事板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