ios - 如何自定义模态视图 Controller 呈现动画?

标签 ios core-animation modalviewcontroller

我不想设置 uiviewcontroller 的 modalTransitionStyle,而是想添加一个 CAAnimation(或其他东西)。此代码可以在 navigationController 中执行自定义动画

CATransition* transition = [CATransition animation];
          transition.duration = 0.4;
          transition.type = kCATransitionFade;
          transition.subtype = kCATransitionFromBottom;
          [self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
          [self.navigationController pushViewController:adjustViewController animated:NO];

如何将它实现到模态视图 Controller ?

最佳答案

您只需要将过渡添加到窗口层,并呈现您的 Controller 而不是推送它:

     CATransition* transition = [CATransition animation];
     transition.duration = 1;
     transition.type = kCATransitionFade;
     transition.subtype = kCATransitionFromBottom;
     [self.view.window.layer addAnimation:transition forKey:kCATransition];
     [self presentViewController:adjustViewController animated:NO completion:nil];

关于ios - 如何自定义模态视图 Controller 呈现动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19931710/

相关文章:

ios - 动画 removeFromSuperview

iphone - iOS:使用 UIView 的 'drawRect:' 与其层的委托(delegate) 'drawLayer:inContext:'

ios - 贴纸包在模拟器上使 iMessage 崩溃,但在 iPhone 上却没有

ios - 从 CoreData 检索 NSDate 并将其设置为 Swift 中的 NSDate 变量

ios - Swift 中的动态表 ImageView

cocoa - 将 NSScrollView 与 CALayer 结合使用

iphone - 异步回调已解除的 View Controller ?

ios - iPad 上的模态表单在 Swift 中透明吗?

ios - 解雇ModalViewControllerAnimated时显示正确的UIView :completion: is called

ios - 为什么我在 UI 自动化工具中看到 "An error occurred while trying to run the script."?