kla*_*nza 24 objective-c uicollectionview uicollectionviewlayout
我有一个常见的UICollectionView与分页和所有.
仍然试图找出viewDidLoad:,viewWillAppear:和viewDidAppear:上的原因,仅在第一次视图调用时,我在调用myCollectionView.collectionView.contentSize.width时得到了错误的大小.它始终以0宽度响应(高度总是正确的).连续重新加载视图让我得到正确的视图.
求助于使用
self.collectionView.collectionViewLayout.collectionViewContentSize
Run Code Online (Sandbox Code Playgroud)
在第一次加载时给我正确的宽度事件.
对我来说还是一个谜.
uca*_*tit 54
所以我看到一个类似的问题,其中contentSize宽度始终为零.简单的答案是......在collectionView中可能还没有内容.这就是它的内容大小为零的原因.
我也注意到有时在调用invalidateLayout我的UICollectionView之后,我发现它self.collectionView.collectionViewLayout.collectionViewContentSize 与我的不一样self.collectionView.contentSize.
经过多次搜索,我在这篇SO帖子中找到了一个很好的暗示
我需要做的就是两contentSize计算是相同的是调用[self.collectionView layoutIfNeeded]呼叫后立即[self.collectionView reloadData]或[self.collectionView.collectionViewLayout invalidateLayout].
这实质上迫使重新加载立即发生,而不是在下一个runloop循环中发生.
我真的希望这能解决你的问题.