不知道这个怎么实现这个,经过几个环节,但没有得到.
请指导.
谢谢
更新:我试过的是
func collectionVIEw(collectionVIEw: UICollectionVIEw,layout collectionVIEwLayout: UICollectionVIEwLayout,sizeforItemAtIndexPath indexPath: NSIndexPath) -> CGSize { return CGSize(wIDth: collectionVIEw.frame.size.wIDth/3.0 - 8,height: collectionVIEw.frame.size.wIDth/2.5[![enter image description here][2]][2] )}
对于这种设计,但它不按需要工作,它变成了
hew,你会遇到这样的3个问题:
>自定义将文本作为单元格长度的UICollectionVIEw单元格
>将collectionVIEw单元格对齐到中间不是左右
子视图中的圆角
所以让我们开始吧
1)
这有点棘手,不是那么简单.你应该做的第一件事是让自动布局为你做点窍门.所以在你的storyboard和xib文件中设计单元格和collectionVIEw,然后在你的控制器类中:
if let flowLayout = self.collectionVIEw.collectionVIEwLayout as? UICollectionVIEwFlowLayout { flowLayout.estimatedItemSize = CGSizeMake(1,1)}
正确的方法是例如vIEwDIDLoad func.当然,如果你稍后重写这个布局,
然后,对于要自定义尺寸的标签,您需要设置:
cell.TitleLabel.preferredMaxLayoutWIDth = 50
你在这两个例子中使用的价值并不重要.如果将estimateItemSize设置为低,则基本上要求自定义大小.
2)
为此,您需要覆盖布局类.我强烈推荐使用这个解决方案https://stackoverflow.com/a/38254368/1317394从@Alex Koshy回答.
3)
该部分很容易.在自定义单元格的底部添加子视图,并将单元格视图背景颜色设置为透明.并在单元格中添加拐角半径,如下所示:
overrIDe func prepareForReuse() { self.roundedVIEw.layer.cornerRadius = self.frame.size.height/2}
这是一个输出效果:
这里是与这个例子的仓库的链接:
https://github.com/JakubMazur/SO39160339
请享用!
总结以上是内存溢出为你收集整理的ios – UICollectionView椭圆形自定义单元格全部内容,希望文章能够帮你解决ios – UICollectionView椭圆形自定义单元格所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)