你如何从显示的键盘下获取 UIScreen 的快照?

Posted

技术标签:

【中文标题】你如何从显示的键盘下获取 UIScreen 的快照?【英文标题】:How do you get the snapshot of UIScreen from Under a displayed keyboard? 【发布时间】:2014-01-25 01:40:50 【问题描述】:

是否可以在键盘下获取 UIScreen 的快照?也许这可以使用 CALayer?

【问题讨论】:

尝试捕获窗口。键盘应该与应用程序的其余部分位于不同的窗口中。 关键窗口包括键盘,有没有不通过索引就可以得到的窗口? 【参考方案1】:

使用以下代码:

UIView* snapshotView = [[UIApplication sharedApplication].keyWindow snapshotViewAfterScreenUpdates:NO];

关键窗口是包含第一响应者的窗口,它正在接受键盘输入。

如果您需要图像形式的快照,请使用drawViewHierarchyInRect:afterScreenUpdates: 而不是snapshotViewAfterScreenUpdates:

【讨论】:

我的问题是询问是否有不包括键盘的窗口名称(在这种情况下将是第一响应者)。就像我可能不得不遍历窗口并弄清楚这一点。 @coolio 键盘位于自己的窗口中。它不会出现在您的任何窗口中。按键窗口不包括键盘。

以上是关于你如何从显示的键盘下获取 UIScreen 的快照?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 UITextView 的完整快照

ios键盘不占webview的高度

如何从地点选择器活动中检索地图快照?

如何编辑从 WKWebView 显示的键盘附件视图?

iOS:如何获取当前可见的键盘类型?

屏幕外信息的安全性如何?