截取当前未打开的 ViewController 的屏幕截图
Posted
技术标签:
【中文标题】截取当前未打开的 ViewController 的屏幕截图【英文标题】:Take Screenshot of ViewController that is not currently open 【发布时间】:2016-10-30 23:59:47 【问题描述】:我正在用 Swift 编写一个应用程序。在我的应用程序中,我有一个 ViewController。上面有一个按钮,还有一个图像视图。当我按下该按钮时,我需要截取另一个 ViewController 的屏幕截图,让我在 Interface Builder 中为第二个 ViewController 定义的所有约束工作,并且视图中的代码确实加载运行。然后我将屏幕截图放在图像视图中。我找到了这个线程here,但它似乎没有使用约束。我不知道为什么。
提前感谢您的帮助!
【问题讨论】:
【参考方案1】:UIView 现在有一个snapshot 方法来制作像这样的视图。如果您需要使用当前设备的正确约束来渲染视图控制器,请将其视图添加到视图层次结构的后面(即insertSubview(viewController.view, at: 0)),拍摄快照,然后删除视图并释放视图控制器。
【讨论】:
以上是关于截取当前未打开的 ViewController 的屏幕截图的主要内容,如果未能解决你的问题,请参考以下文章
Swift:截取 viewController 并在 Facebook 上分享
获取手机当前时间以及分辨率,使用系统键打开通知栏获取网络设置网络截取当前屏幕
嵌入 ViewController 时视图未按预期使用 AutoLayout 进行布局