gpt4 book ai didi

iphone - 如何创建自定义 UIViewController 过渡动画?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:18:33 24 4
gpt4 key购买 nike

这个问题似乎被问了很多,但我从未找到关于是否可以像 UIKit 一样进行自定义转换的明确答案。

我知道你可以做一些技巧,比如截取当前 View 和即将到来的 View 的屏幕截图,然后在动画下更改 View Controller 时为它们制作动画。然而,这需要相当多的内存,因为你基本上有 2 个完整的额外屏幕值得绘制(因为屏幕截图)。

我正在寻找一种更优雅的方式来呈现带有自定义动画的 View Controller 。或者,是否有一种更节省内存的方法来执行上述方法?

最佳答案

有几种方法可以实现这一点,具体取决于您希望如何转换、您的 Controller 是否嵌入到容器 Controller 中等。在最简单的情况下,您只有一个 Controller ,并且您想转换到另一个 Controller ,您可以通过以下步骤完成:

  1. 实例化新的 Controller (我们称它为 B,而原来的 Controller 为 A)
  2. 将 B 的 View 添加为窗口的 subview (从 self.view.window 获取)
  3. 根据您想要的过渡类型,将 B 的框架设置为在您想要的任何方向上离开屏幕或使其 alpha 为 0,或使其大小为零。
  4. 使用 animateWithDuration:animations:completion 做任何你想要的过渡:删除 A 的 View (在完成 block 中)
  5. 在完成 block 中,使 B 成为窗口的 Root View Controller

关于iphone - 如何创建自定义 UIViewController 过渡动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14740545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com