【发布时间】:2014-10-30 10:28:45
【问题描述】:
我一直在使用[[UIApplication sharedApplication] keyWindow] 以UIView 的形式获得屏幕的可见视图。然后我将该视图转换为UIImage 以使用。这很好用,除非我同时显示UIAlertView。在这种情况下,keyWindow 不会像通常那样返回 UIWindow,而是返回 UIModalItemHostingWindow,并且在将该视图转换为图像后,它只是一个纯黑色的屏幕截图。
现在文档说keyWindow“在最近发送 makeKeyAndVisible 消息的 windows 数组中保存 UIWindow 对象。”
这个UIModalItemHostingWindow 一定是由于我正在呈现的模式警报,也许keyWindow 正在返回该视图而不是整个屏幕。
我的问题是,我怎样才能始终保证我得到一个准确表示屏幕上所有可见内容的UIView?看来keyWindow 不是一个好的解决方案。一种解决方法是延迟我抛出的所有可能的警报,但如果可能的话,我想找到一个更好的解决方案
【问题讨论】:
-
你的屏幕上有rootviewcontroller吗??
-
根视图控制器是标签栏控制器,当我尝试捕获图像时,它仍然在屏幕上可见。
标签: ios objective-c uiview uiwindow keywindow