我正在尝试创建一个自定义转换,以替代您将在此处获得的默认转换,例如:
[self.navigationController pushViewController:someController animated:YES];
我准备了一个基于 OpenGL 的视图,它对映射到平面的一些静态纹理执行效果(假设它是核心动画中翻转效果的副本)。我不知道该怎么做是:
- 抓取当前视图内容并从中制作纹理(我记得看到一个功能可以做到这一点,但找不到它)
- 如何对当前不在屏幕上并将替换当前视图的视图执行相同的操作
- 是否有一些我可以连接的 API 以使我的转换类尽可能地原生(使其成为一种核心动画效果)?
非常感谢任何想法或链接!
更新
Jeffrey Forbes 的答案非常适合作为捕获视图内容的解决方案。
我还没有弄清楚的是如何捕获我想要转换到的视图的内容,在转换完成之前应该是不可见的。
另外,我应该使用哪种方法来呈现 OpenGL 视图?出于演示目的,我使用了 pushViewController。但是,这会影响导航栏,我实际上想用动画返回一个项目,请查看此视频以获取解释:
另一种选择是使用 presentViewController,但会显示全屏。您认为创建另一个窗口(或视图?)可能有用吗?