我有一种情况,我需要让一个UICollectionView加载它的数据(所以我可以获取它的内容大小),然后才将它添加到视图层次结构中。
我试过调用reloadData并在main_thread上调度但无效
//The context manager needs to check with this to see if the scrollview can scroll (because otherwise it can't pan it up)
func hasEnoughContentForScrolling()->Bool
{
dispatch_sync(dispatch_get_main_queue(), {self.collectionView.reloadData()})
if(collectionView.contentSize.height > UIScreen.mainScreen().bounds.height)
{
return true
}
return false
}
您知道如何在将UICollectionView添加到屏幕之前预先加载它吗?
答案 0 :(得分:0)
您可以在viewDidLoad方法中隐藏collectionView,并且在重新加载collectionView时,您可以使用加载的数据显示您的集合View。 我试着在Swift中编写代码。不确定它是一个快速的正确代码。但也许它可以帮助你理解 -
override func viewDidLoad()
{super.viewDidLoad()self.collectionView.hidden = YES}
func hasEnoughContentForScrolling()->Bool
{
dispatch_sync(dispatch_get_main_queue(),{
self.collectionView.reloadData()self.collectionView.hidden = NO })
}