我正在为我的视图控制器使用快照测试。这是视图控制器在测试中的初始化方式:
window.addSubview(viewController.view) // simulate the view is visible (probably unnecessary)
viewController.view.frame = self.snapshotFrame // set frame
viewController.beginAppearanceTransition(true, animated: false) // simulate VC's life cycle
viewController.endAppearanceTransition()
我的视图控制器包含 UICollectionView。当我使用 performBatchUpdates 执行集合视图更新时,即使更新块已完成,也永远不会调用完成。
// Animate udpates
self.collectionView.performBatchUpdates({
// is called
}, completion: { _ in
// never called
})
我认为这与集合视图的屏幕外渲染有关。有人有类似问题的经验吗?我缺少什么来说服 UICollectionView 它在屏幕上?