相关疑难解决方法(0)

在UICollectionView上调用reloadData后,不会更新contentSize

有没有人知道为什么在UICollectionView上调用reloadData后不会立即更新contentSize?

如果您需要了解contentSize,我发现的最佳工作如下:

[_collectionView reloadData];

double delayInSeconds = 0.0001;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(DISPATCH_TIME_NOW, dispatch_get_main_queue(), ^(void)
    {
        // TODO: Whatever it is you want to do now that you know the contentSize.
    });
Run Code Online (Sandbox Code Playgroud)

显然,这是一个相当脆弱的黑客,它对Apple的实现进行了假设,但到目前为止,它已被证明非常可靠.

有没有人有任何其他解决方法或知道为什么会发生这种情况?我正在辩论提交雷达,因为我无法理解为什么他们无法在同一个运行循环中计算contentSize.这就是UITableView为其整个实现工作的方式.

编辑:此问题用于引用块内的setContentOffset方法,因为我想在我的应用程序中滚动集合视图.我已经删除了方法调用,因为人们的回答集中在为什么我没有使用scrollToItemAtIndexPath内部为什么没有更新contentSize.

ios uicollectionview

51
推荐指数
3
解决办法
3万
查看次数

如何在分页启用时扩展UICollectionView contentSize?

UICollectionView启用分页机制我做的很简单,一切正常.但是,当滚动到最后一页时,屏幕中的单元格数量不完全可见,最后一页包含上一页面的一些单元格.

如何扩大contentSizeUICollectionView,这样最后一页不包含前一页的任何细胞?

这里的一个例子:UICollectionView水平滚动6个单元格,这样:

第1页: cell0 - cell1 - cell2 - cell3

滚动:cell2-cell3-cell4-cell5 //不期望:如何更改为:cell4 - 第2页中的单元格5.

摘要:

我想设置

collectionView.contentSize = numberOfPage * collectionView.frame

collectionView.contentSize = numberOfCell * (cellFrame + spacing)

uiscrollview ios uicollectionview

27
推荐指数
1
解决办法
4万
查看次数

标签 统计

ios ×2

uicollectionview ×2

uiscrollview ×1