我已经在uicollectionview中实现了3D Touch,它工作得很好。但是当uisearchController处于活动状态时,3D Touch就不起作用了。uisearchController使用collectionView来显示结果。
这个帖子中也有同样的问题。
有人遇到过类似的问题吗?谢谢。
我已经找到了解决方案:
扩展MyViewController:UISearchControllerDelegate {
func didPresentSearchController(_ searchController: UISearchController) {
if let context = previewingContext {
unregisterForPreviewing(withContext: context)
previewingContext = searchController.registerForPreviewing(with: self, sourceView: self.myCollectionView)
}
}
func didDismissSearchController(_ searchController: UISearchController) {
if let context = previewingContext {
searchController.unregisterForPreviewing(withContext: context)
previewingContext = registerForPreviewing(with: self, sourceView: self.myCollectionView)
}
}
}