如何根据内容设置collectionview单元格宽度?

     2023-03-14     126

关键词:

【中文标题】如何根据内容设置collectionview单元格宽度?【英文标题】:How to set collectionview cell width based on content? 【发布时间】:2018-03-24 13:09:34 【问题描述】:

我有一个水平滚动的collectionview。单元格包含一个标签。我想根据标签的内容调整单元格宽度。如何实现?请帮我解决这个问题

【问题讨论】:

【参考方案1】:

而不是调用 sizeforitem

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize 

 return CGSize(width: 100, height : 100)

您可以将布局属性设置为根据标签内容自动调整大小

let layout = UICollectionViewFlowLayout()
layout.scrollDirection = .horizontal
layout.minimumLineSpacing = 0
layout.minimumInteritemSpacing = 0
layout.estimatedItemSize = CGSize(width: 100, height: 30)

【讨论】:

【参考方案2】:

使用该函数计算标签宽度

func widthOfString(usingFont font: UIFont) -> CGFloat 
     let fontAttributes = [NSFontAttributeName: font]
     let size = self.size(attributes: fontAttributes)
     return size.width

使用UICollectionViewDelegateFlowLayout设置collectionViewCell的大小

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize 
let width = //calculated width of label from func
   return CGSize(width: width, height:requiredHeight)

【讨论】:

在函数widthOfString中,那是一个什么样的类?换句话说,我应该把 widthOfString 函数放在哪里?我无法让示例代码工作。为什么不给宽度赋值?是否应该将其分配给 widthOfString 的值?我认为更完整的答案会给予支持。 @JohanKarlsson 您需要帮助或建议我如何回答吗? 查看我之前关于如何改进的问题。在我的世界里,缺少一些信息。我无法让代码工作。

根据 IndexPath 设置特定 CollectionView 单元格的背景颜色

】根据IndexPath设置特定CollectionView单元格的背景颜色【英文标题】:SetBackgroundColorofspecificCollectionViewCellsaccordingtoIndexPath【发布时间】:2022-01-2304:19:15【问题描述】:我对Swift和编程很陌生,很抱歉这个简单的问题:我想开发一个... 查看详情

如何根据设备主题更改collectionview单元格颜色(按照我的配色方案)

】如何根据设备主题更改collectionview单元格颜色(按照我的配色方案)【英文标题】:Howtochangecollectionviewcellscolorbasedondevicetheme(followingmycolorscheme)【发布时间】:2020-10-2815:27:08【问题描述】:概述:我正在使用集合视图构建键盘... 查看详情

如何根据用户选择在 CollectionView 标题下方显示不同的单元格?

】如何根据用户选择在CollectionView标题下方显示不同的单元格?【英文标题】:HowtodisplaydifferentcellsbelowCollectionViewheaderdependingonusersselection?【发布时间】:2017-05-2106:53:40【问题描述】:编辑:我正在尝试重新创建instagram/twitter个人... 查看详情

如何在 Collectionview 单元格中为 Uiimageview 设置圆角

】如何在Collectionview单元格中为Uiimageview设置圆角【英文标题】:HowtosetroundedcornerforUiimageviewinCollectionviewcell【发布时间】:2017-07-3012:08:46【问题描述】:我正在尝试按照以下设计制作UICollectionviewCell我已经为单元格设置了圆角半... 查看详情

尝试在collectionview中为不可见单元格设置动画时如何防止延迟

】尝试在collectionview中为不可见单元格设置动画时如何防止延迟【英文标题】:howtopreventdelaywhentryingtoanimateinvisiblecellsincollectionview【发布时间】:2020-12-3021:55:36【问题描述】:我想为我的所有collectionview单元格设置动画,这个简... 查看详情

如何根据内容设置单元格编辑器的高度?

】如何根据内容设置单元格编辑器的高度?【英文标题】:Howtosetheightofcelleditorbasedoncontent?【发布时间】:2021-07-0402:41:08【问题描述】:我有这个带有cellEditoragRichSelectCellEditor的ag-grid表,我希望默认情况下将高度设置为与内容相... 查看详情

使用类似“标签”的单元格设置 collectionView

】使用类似“标签”的单元格设置collectionView【英文标题】:SetupacollectionViewwith"tag"-likecells【发布时间】:2018-10-0313:41:05【问题描述】:我一直在使用自定义UICollectionViewFlowLayout来调整单元格之间的空间,以便在我的collect... 查看详情

滚动后 CollectionView 单元格更改大小 - 自动布局

】滚动后CollectionView单元格更改大小-自动布局【英文标题】:CollectionViewCellchangingsizeafterscrolling-AutoLayout【发布时间】:2017-01-2703:43:46【问题描述】:我有一个集合视图嵌套在集合视图中。我为尝试根据内容动态更改单元格大小... 查看详情

collectionview 单元格动态宽度打破布局

】collectionview单元格动态宽度打破布局【英文标题】:collectionviewcelldynamicwidthbreakslayout【发布时间】:2015-01-2712:24:35【问题描述】:当我尝试为集合视图的单元格赋予动态时,根据它将包含的标签,单元格之间的间距发生了一些... 查看详情

iOS - 如何使用自定大小的 CollectionView 单元格设置锚点以调整换行符的间距

】iOS-如何使用自定大小的CollectionView单元格设置锚点以调整换行符的间距【英文标题】:iOS-HowtoToSetAnchorstoAdjustSpacingforLineBreakwithSelfSizingCollectionViewCells【发布时间】:2018-11-1002:49:01【问题描述】:当调整标签的文本以自动获取col... 查看详情

根据选择的collectionview单元格显示不同的tableview数据

】根据选择的collectionview单元格显示不同的tableview数据【英文标题】:Displaydifferenttableviewdatadependingonwhichcollectionviewcellisselected【发布时间】:2019-06-2722:30:02【问题描述】:Here\'sascreenshotoftheUI我的tableview上方有一个collectionview。我... 查看详情

Swift iOS - 如何使 CollectionView 的单元格大小

】SwiftiOS-如何使CollectionView的单元格大小【英文标题】:SwiftiOS-HowtomakeCollectionViewthesizeofitscells【发布时间】:2018-06-1413:55:36【问题描述】:我有一个可以包含2到5个单元格的collectionView。我想将集合视图固定到其父vc的底部,但我... 查看详情

普通 CollectionView 单元格中的动态 CollectionView 单元格

】普通CollectionView单元格中的动态CollectionView单元格【英文标题】:DynamicCollectionViewcellinanormalCollectionViewcell【发布时间】:2020-05-0222:40:39【问题描述】:我在CollectionView单元格中使用带有CollectionView的情节提要。我需要里面的那个... 查看详情

如何居中对齐 CollectionView 单元格?

】如何居中对齐CollectionView单元格?【英文标题】:HowtocenteralignCollectionViewCell?【发布时间】:2018-08-3109:25:41【问题描述】:你好有一个collectionview。每个单元格的宽度是屏幕宽度/3。表示连续3个单元格。现在。如果有10或11个单... 查看详情

如何快速在uicollectionview中动态访问单元格属性

】如何快速在uicollectionview中动态访问单元格属性【英文标题】:Howtoaccesscellpropertydynamicallyinuicollectionviewinswift【发布时间】:2014-12-3008:55:17【问题描述】:UICollectionView的帮助我正在使用textview来显示内容。Collectionview包含10个单... 查看详情

如何在 didselect 上展开 collectionview 单元格以显示更多信息?

】如何在didselect上展开collectionview单元格以显示更多信息?【英文标题】:Howtoexpandcollectionviewcellondidselecttoshowmoreinfo?【发布时间】:2013-09-2718:59:44【问题描述】:我想为我的collectionview单元格设置动画,这样当我触摸它时,一个m... 查看详情

Swift 3 collectionView 如何设置间距。

】Swift3collectionView如何设置间距。【英文标题】:Swift3collectionViewhowtosetspacing.【发布时间】:2018-04-2623:18:10【问题描述】:如何将3个单元格居中?它在左边。如何在每个单元格的所有边设置相同的间距?显示未找到结果的第二个... 查看详情

如何根据图像自定义集合视图单元格

...据图像自定义集合视图单元格【英文标题】:Howtocustomisecollectionviewcellaspertheimages【发布时间】:2015-04-2213:31:21【问题描述】:下面是我的代码。我可以加载,但两个单元格之间有一些空间。如何避免。-(NSInteger)collectionView:(UIColle... 查看详情