推送 UIViewController

Posted

技术标签:

【中文标题】推送 UIViewController【英文标题】:Pushing UIViewController 【发布时间】:2020-04-06 06:09:23 【问题描述】:

有没有办法通过自定义屏幕显示来推送视图控制器? ,就像展示一个视图控制器一样,modalPresentationStyle = .custom!当推送带有自定义动画的视图控制器时,推送的视图控制器会消失。

【问题讨论】:

【参考方案1】:

您可以通过在过渡时分配所需的动画来推动:

let yourVC = self.storyboard?.instantiateViewController(withIdentifier: "YOURVIEWCONTROLLER") as! YOURVIEWCONTROLLER
    UIView.animate(withDuration: 0.6, animations: () -> Void in
    UIView.setAnimationCurve(.easeInOut)
    self.navigationController?.pushViewController(yourVC, animated: true)
    UIView.setAnimationTransition(.flipFromRight, for: (self.navigationController?.view)!, cache: false)
)

【讨论】:

【参考方案2】:

是的,您可以为推送视图控制器制作自定义动画。

您可以实现自己的 UINavigationControllerDelegate 来触发自己的过渡动画。有很多网站解释了如何做到这一点。你可以查看here,here,还有很多 UIViewControllerAnimatedTransitioning 的例子。随便找一些不错的教程,如何实现。

【讨论】:

我知道如何制作过渡动画,推送视图控制器的问题是如果我想将它显示在屏幕的一半上, fromViewController 会消失,不像呈现 viewController 。 这取决于您的需要,您可以将视图作为图像从 fromView 复制并继续显示。但是如果你需要交互,那么你不应该使用推送机制。 好主意,谢谢。我会展示它而不是推送它。

以上是关于推送 UIViewController的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发 - ANPs推送通知 标签: 推送通知ANPs远程推送本地推送

FCM推送是啥?海外推送只用FCM可以吗?

android系统的APP消息推送机制

Android消息推送能推送图片吗?还是只能推送文字信息?

iOS推送之本地推送

ios推送通知之ios推送证书的申请和使用配置