UICollectionView Horizontal - 不能将高度设置为小于 100 左右?
Posted
技术标签:
【中文标题】UICollectionView Horizontal - 不能将高度设置为小于 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 Horizontal - 不能将高度设置为小于 100 左右?的主要内容,如果未能解决你的问题,请参考以下文章
MPAndroidchart 圆形边缘用于彩色 HorizontalBarChart
Laravel Horizon 抛出错误:调用未定义的函数 Laravel\Horizon\Console\pcntl_async_signals()
css Horizontal-Center / Centra horizontalmente cualquier elemento(el padre debe tenerunaposici
HorizontalScrollView 以编程方式滚动而没有焦点