ios - UICollectionView 离屏截图

标签 ios objective-c ios7

是否可以在 UICollectionView 可见之前捕获屏幕截图(使用 drawViewHierarchyInRect:afterScreenUpdates:)?

在我的情况下,我有 UIPageViewController 将多个 View 作为页面。我想在 Collection View 可见之前捕获屏幕截图并添加模糊。

但是 drawView... 方法总是返回空白图像,只有在 uicollectionview 完全可见后才能返回好的屏幕截图?

有没有办法强制 UICollectionView 在它变得可见之前呈现?

最佳答案

您需要考虑的不仅仅是 Collection View ,还有为其提供数据的 View Controller 。通常除了加载 View 之外,您还需要在 Controller 中运行一些逻辑来加载所需的数据(通常在 viewWillAppear: 中),然后一旦数据可用(可能是异步的)需要重新加载 Collection View ,这是异步的(并且不提供完成回调,请参阅 this question 了解更多详细信息)。

因此,虽然可以做您想做的事,但您需要考虑数据来源和将数据加载到 View 中的异步性质,然后才能获得非空白图像结果。

关于ios - UICollectionView 离屏截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21987993/

相关文章:

ios - 适用于 iOS 应用的 xcode vs sencha touch

objective-c - 应用程序动画从纵向到横向

objective-c - 使用 NSFetchedresultController 对 'transient' 字段进行排序

ios - 如何在解析 xml 时访问 NSDictionary 内的 NSArray?

ios - Xcode 5 文档窗口缺少 sdk 指南和示例的完整概述

android - Cordova 的自定义 URL 方案

ios - 如何在 UIViewController 消失时停止位置管理器

ios - 使用 Realm 对数据进行排序

ios - 在 isEqual 中测试 NSNumber 是否为 nil

ios - 滑动删除动画杀死线程