UICollectionView Horizo​​ntal - 不能将高度设置为小于 100 左右?

Posted

技术标签:

【中文标题】UICollectionView Horizo​​ntal - 不能将高度设置为小于 100 左右?【英文标题】:UICollectionView Horizontal - Can't set height less than around 100? 【发布时间】:2017-03-08 15:59:13 【问题描述】:

我实现了一个带有水平滚动的 UICollectionView。我的单元格只是大小为 50x50 的缩略图 (UIImageView)。

    let cvLayout = UICollectionViewFlowLayout()

    cvLayout.sectionInset = UIEdgeInsets(top: 0, left: 10, bottom: 0, right: 10)
    cvLayout.itemSize = CGSize(width: 50, height: 50)
    cvLayout.scrollDirection = .horizontal

一切正常,只要 UICollectionView 的高度高于 ca。 100. 如果我将它的高度设置得更低,图像就不会再出现并且视图看起来很乱。我尝试使用所有可用的设置,没有任何改变。

UICollectionView 是否有最小高度要求,或者这是我可以通过自定义布局解决的问题?

感谢任何提示!

【问题讨论】:

嗯,您能否添加一个屏幕截图,显示将高度设置为 100 和设置为 90 时的样子?所以我们可以看到发生了什么 【参考方案1】:

除非您更新问题以获取更多详细信息,否则请稍稍抓住一点。我要说这是两件事之一。但很可能是第一个。

1) 您像在当前问题中一样构建布局,但从未分配它。

            let cvLayout = UICollectionViewFlowLayout()         
            cvLayout.sectionInset = UIEdgeInsets(top: 0, left: 10, bottom: 0, right: 10)
            cvLayout.itemSize = CGSize(width: 50, height: 50)
            cvLayout.scrollDirection = .horizontal
            //possibly not assigning it
            collectionView.collectionViewLayout = cvLayout

2) 你对你的 imageview 没有限制,但我猜事实并非如此。

再一次,我只是在尝试一下。如果您在下面发表评论,如果这些都不能解决问题,我会在我有更多信息的情况下更新答案。我可以将高度设置为 50,它非常适合。

【讨论】:

嗨,谢谢,不,我都做了。就像我说的那样,它工作得很好(包括显示和水平滚动,只要高度大约/超过 100,即我使大小为 120x120 的图像都可以完美地工作。现在,我通过简单地给出来解决它它的高度 > 100 并在“未使用的空间”上移动其他视图。非常糟糕,但到目前为止还有效。布局非常基本,所以我非常有信心没有其他视图导致这种情况。 你认为这是被其他东西挤压了吗?意味着其他约束?您认为您的图像视图在哪里显示超出范围 有趣。您愿意分享一下布局的屏幕截图吗? 好吧,我通过将 CollectionView 放入另一个 UIView 来解决它。出于某种原因,这似乎有效。最后我还没有真正弄清楚问题出在哪里,但仍然非常感谢您的帮助和快速回复! 希望我能提供更多帮助。奇怪的是有些事情看起来比他们应该做的更难

以上是关于UICollectionView Horizo​​ntal - 不能将高度设置为小于 100 左右?的主要内容,如果未能解决你的问题,请参考以下文章

MPAndroidchart 圆形边缘用于彩色 Horizo​​ntalBarChart

Laravel Horizo​​n 抛出错误:调用未定义的函数 Laravel\Horizo​​n\Console\pcntl_async_signals()

css Horizo​​ntal-Center / Centra horizo​​ntalmente cualquier elemento(el padre debe tenerunaposici&#

Horizo​​ntalScrollView 以编程方式滚动而没有焦点

如何在Blackberry中动态增加horizo ntalfieldmanager高度?

Horizo​​ntalScrollView 隐藏其子视图