是否可以在 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/