gpt4 book ai didi

ios - 如果当前在屏幕上不可见,是否可以获取 View Controller 的快照,包括其状态栏?

转载 作者:行者123 更新时间:2023-11-29 03:05:55 27 4
gpt4 key购买 nike

假设我正在使用 iOS 7 的交互式 View Controller 转换执行某些操作,并且我收到了 toViewControllerfromViewController,其中只有 fromViewController 当前在屏幕上可见。

如果我想获取 fromViewController 的快照,我可以轻松地使用:

UIView *fromViewControllerSnapshot = [[UIScreen mainScreen] snapshotViewAfterScreenUpdates:YES];

但是,如果我正在寻找包含 toViewController 状态栏的快照,我不确定该怎么做,因为它在屏幕上还不可见。

至于为什么,我想将包括状态栏的完整 View Controller 滑动到右侧,作为弹出它的过渡的一部分,并同时将其他完整 View Controller 滑入时间,两者都移动了各自的状态栏。

是否可以获取不是 100% 可见的 View Controller 的快照?

最佳答案

如果不亲自操作快照,使用 UIScreen 快照将其放在那里,就不可能。

您所做的实际上是对应用程序的全屏进行快照,而不是相关 View Controller 。在这种情况下,它恰好占据了整个屏幕,但这通常不是您会做的。

这里通常正确的做法是拍摄实际 View 本身的图像快照 (viewController.view) 并在动画中使用它们。这样,您就可以让应用程序和 View Controller 自行处理状态栏着色/动画。

如果您查看其他应用程序处理此问题的方式,尤其是内置转换,屏幕上通常只有一个状态栏实例。如果另一个 View 滑入或以动画方式进入,状态栏会出现/消失/更改颜色,但新的 View 永远不会在另一个 View 上动画。

关于ios - 如果当前在屏幕上不可见,是否可以获取 View Controller 的快照,包括其状态栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22775898/

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