collectionview 单元格动态宽度打破布局
Posted
技术标签:
【中文标题】collectionview 单元格动态宽度打破布局【英文标题】:collectionview cell dynamic width breaks layout 【发布时间】:2015-01-27 12:24:35 【问题描述】:当我尝试为集合视图的单元格赋予动态时,根据它将包含的标签,单元格之间的间距发生了一些奇怪的事情:
如果我将项目设置为静态宽度,则单元格将按预期布局:
给项目一个宽度的代码是:
func collectionView(collectionView: UICollectionView!, layout collectionViewLayout: UICollectionViewLayout!,
sizeForItemAtIndexPath indexPath: NSIndexPath!) -> CGSize
let element = self.default_categories[indexPath.row] as NSString
let stringSize = element.sizeWithAttributes([NSFontAttributeName: UIFont.systemFontOfSize(18.0)])
// return CGSize(width: stringSize.width, height: self.categoriesView.frame.height)
return CGSize(width: 100, height: self.categoriesView.frame.height)
所以,基本上,我真的不知道那个空间是从哪里来的,当我 尝试为单元格提供动态宽度。
sectionInset 为 (0, 0, 0, 0),minimumLineSpacing 也是 0。
【问题讨论】:
与论坛网站不同,我们不使用“谢谢”、“感谢任何帮助”或Stack Overflow 上的签名。请参阅“Should 'Hi', 'thanks,' taglines, and salutations be removed from posts?。顺便说一句,这是“提前致谢”,而不是“致谢”。 fk2blow:@JohnSaunders 在这里是正确的。请阅读他发布的链接。你争论的 cmets 也没有“帮助社区”,但你发布了它们。 【参考方案1】:问题在于布局的“minimumInteritemSpacing”属性。添加动态大小时,将其设置为 0 会删除单元格之间的边距。
【讨论】:
以上是关于collectionview 单元格动态宽度打破布局的主要内容,如果未能解决你的问题,请参考以下文章
当单元格具有动态宽度时,CollectionView 中的间距不正确?
UICollectionView 单元格在swift中使用约束固定宽度和动态高度