动态调整 UICollectionView 大小以确保没有项目间距

     2023-03-16     63

关键词:

【中文标题】动态调整 UICollectionView 大小以确保没有项目间距【英文标题】:Adjust UICollectionView Size Dynamically to Ensure No Inter Item Spacing 【发布时间】:2015-10-17 01:56:51 【问题描述】:

目标是让 UICollectionView 每行具有特定数量的列,而不管屏幕大小。

目前我正在使用:

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize

    //print(collectionView.frame.size.width)
    let numberRows:CGFloat = 7
    return CGSize(width: collectionView.frame.size.width/numberRows, height: collectionView.frame.size.width/numberRows)

设置单元格的大小,以便它们可以容纳在集合视图中而没有项目间距。但是,集合视图的大小是根据屏幕大小的百分比设置的。如果所需的“numberRows”不均分,则单元格之间会有间距。

如何动态更改集合视图的大小以确保单元格适合而没有间距?如何以更有效的方式实现这一点?

【问题讨论】:

您解决了这个问题吗?我遇到了同样的问题,还没有找到答案。 【参考方案1】:

当您设置集合视图的大小时,您可以将其向下舍入为 numberRows 的倍数。这确保了它会平均分配。

如果您使用 AutoLayout,您可以设置集合视图的宽度或高度约束。然后拨打layoutSubviews:setNeedsLayout

如果您不使用 AutoLayout,您可以使用 setFramesetBounds 更改集合视图的大小。

【讨论】:

【参考方案2】:

你不能在这里打破数学规则。如果你得到一个点/像素太多,你不能把这个像素分成两个半像素。

你可以做的是:

相应地调整集合视图的大小,使单元格的数量完美匹配

接受其中一个单元的大小比其他单元大/小一个像素。 (例如行中的最后一个单元格)

【讨论】:

使用自动布局中的固有大小动态调整 UICollectionView 的大小

】使用自动布局中的固有大小动态调整UICollectionView的大小【英文标题】:dynamicresizingofUICollectionViewusingintrinsicsizewithinanautolayout【发布时间】:2012-11-1417:04:26【问题描述】:我正在尝试使用UICollectionView实现一个日历,它在更改月... 查看详情

调整 UICollectionViewCells 的大小以始终填充 UICollectionView

】调整UICollectionViewCells的大小以始终填充UICollectionView【英文标题】:ResizeUICollectionViewCellstoalwaysfillUICollectionView【发布时间】:2014-10-0113:10:17【问题描述】:我有一个水平滚动的UICollectionView,其UICollectionViewCells与集合视图本身一... 查看详情

在非滚动 UICollectionView 中动态调整 UICollectionViewCell 的大小

】在非滚动UICollectionView中动态调整UICollectionViewCell的大小【英文标题】:DynamicallyresizeUICollectionViewCellinnon-scrollingUICollectionView【发布时间】:2015-01-2423:25:55【问题描述】:我在屏幕顶部有一个小的单行水平布局UICollectionView。它最... 查看详情

如何调整 UICollectionView 单元格的大小以适合其中的内容?

】如何调整UICollectionView单元格的大小以适合其中的内容?【英文标题】:HowtosizeaUICollectionViewcelltofitthecontentsinsideit?【发布时间】:2017-01-0820:06:24【问题描述】:我正在考虑在sizeForItemAt中执行此操作,但我无法访问那里的单元格... 查看详情

为 SizeToFit 标签调整 UICollectionView 单元的大小

】为SizeToFit标签调整UICollectionView单元的大小【英文标题】:SizingUICollectionViewCellsforSizeToFitlabel【发布时间】:2020-07-0601:43:48【问题描述】:我正在尝试调整UICollectionViewCell的大小以适合给定标签的大小,并且我还想添加一些填充... 查看详情

UICollectionView 自动调整大小导致错误

】UICollectionView自动调整大小导致错误【英文标题】:UICollectionViewAutoResizingResultsinError【发布时间】:2016-04-0716:50:43【问题描述】:我正在开发一个玩具应用程序来调查涉及UICollectionView的其他事情。因为我需要(只需接受前提并... 查看详情

动态调整 UICollectionViewCell 的大小

】动态调整UICollectionViewCell的大小【英文标题】:DynamicallyresizingaUICollectionViewCell【发布时间】:2013-01-1010:27:24【问题描述】:我有一个UICollectionView和2个UILabel和一个UIImage具有类似的布局:--------------------|||LABEL1||IMAGE||LABEL2||......|... 查看详情

如何根据里面的 UILabel 子视图调整 UICollectionView 中的单元格大小

】如何根据里面的UILabel子视图调整UICollectionView中的单元格大小【英文标题】:HowtoresizecellinUICollectionViewbasedonUILabelsubviewinsideofit【发布时间】:2014-07-1304:04:03【问题描述】:我所做的是使用label.sizeToFit()将标签设置为调整大小,... 查看详情

如何调整 uicollectionview 单元格中 imageview 的位置?

】如何调整uicollectionview单元格中imageview的位置?【英文标题】:HowdoIadjustthepositionofanimageviewinauicollectionviewcell?【发布时间】:2016-07-1123:58:05【问题描述】:我在UICollectionView单元格中有一个UIImageView,我正在根据屏幕大小以编程... 查看详情

使用图像上传 Swift 动态调整 UICollectionViewCell 的大小

】使用图像上传Swift动态调整UICollectionViewCell的大小【英文标题】:DynamicallysizingUICollectionViewCelldynamicallywithimageuploadSwift【发布时间】:2017-02-1207:02:05【问题描述】:我想知道动态调整UICollectionViewCell尺寸的最佳方法(Swift3)。我... 查看详情

如何根据 UILabel 动态调整 CollectionViewCell 的大小

...我正在创建一个建议/标签视图。这基本上是一个水平的uicollectionview。我有一个自定义单元格,其中只有一个标签,没有自动调整大小或自动约束。我有一个数组vartagsArray 查看详情

Qt:如何调整 QGraphicsItem 以动态改变大小

】Qt:如何调整QGraphicsItem以动态改变大小【英文标题】:Qt:HowtoadjustQGraphicsItemtodynamicalychangesize【发布时间】:2017-11-1621:43:12【问题描述】:我有这个问题好几天了。我已经创建了QGraphicsItem,我想将它的大小拉伸/调整为我的QGraph... 查看详情

调整包含 UICollectionView 的 UITableViewCell

】调整包含UICollectionView的UITableViewCell【英文标题】:ResizeUITableViewCellcontainingUICollectionView【发布时间】:2016-08-3113:33:51【问题描述】:我有几个包含UICollecionView的单元格。对于行高,我使用UITableViewAutomaticDimension和Autolayout。是否... 查看详情

自动调整大小的动态文本以填充固定大小的容器

】自动调整大小的动态文本以填充固定大小的容器【英文标题】:Auto-sizedynamictexttofillfixedsizecontainer【发布时间】:2010-10-1520:06:38【问题描述】:我需要将用户输入的文本显示到固定大小的div中。我想要的是自动调整字体大小,... 查看详情

动态调整大小的 stackView 以减少内容

】动态调整大小的stackView以减少内容【英文标题】:DynamicallysizedstackViewforlesscontent【发布时间】:2019-11-0107:15:32【问题描述】:我有自定义XIB的,我将使用它在运行时创建我的ViewController。ViewController中包含哪些XIB将在运行时决... 查看详情

自动布局以动态调整 UILabel 大小不起作用

】自动布局以动态调整UILabel大小不起作用【英文标题】:AutolayouttoDynamicallyResizeUILabelnotworking【发布时间】:2018-04-1908:10:12【问题描述】:我尝试用各种可能的方式创建动态UILabel,但它不适合我。我已经使用.xib文件创建了UITableV... 查看详情

以编程方式根据行数动态调整 UILabel 的大小

】以编程方式根据行数动态调整UILabel的大小【英文标题】:DynamicallyadjustsizeofUILabelaccordingtothenumberoflinesprogrammatically【发布时间】:2017-02-1820:01:48【问题描述】:我有一个View,我在其中创建了一个numberOfLines为零的UILabel。我希望... 查看详情

UICollectionView 单元格子视图不调整大小

】UICollectionView单元格子视图不调整大小【英文标题】:UICollectionViewcellsubviewsdonotresize【发布时间】:2013-02-2412:50:18【问题描述】:在CollectionView中,一些单元格应该有一个额外的子视图或层。可以告诉CollectionView调整其单元格的... 查看详情