Swift中具有角半径的集合视图

Posted

技术标签:

【中文标题】Swift中具有角半径的集合视图【英文标题】:Collection View with corner radius in Swift 【发布时间】:2017-10-24 12:29:13 【问题描述】:

我有一个 CollectionViewController,我想将角半径设置为 CollectionView(标题视图下方的部分)。

这就是我想要的(黄色圆角半径)。是否可以?你知道我该怎么做吗?

【问题讨论】:

您在互联网上有很多解决方案。尝试其中任何一个,如果您遇到任何错误,我们会在这里为您提供帮助。 你可以为你的collectionview设置清晰的颜色并将圆角半径设置为collectionviewcell.. 【参考方案1】:
        extension UICollectionView 
    func roundCorners(_ corners:UIRectCorner, radius: CGFloat) 
        let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius))
        let mask = CAShapeLayer()
        mask.path = path.cgPath
        self.layer.mask = mask
    

   collectioniew.roundCorners([.topLeft,.topRight], radius: 5)

【讨论】:

谢谢,但您的回答不适用于标题视图【参考方案2】:

解决方案非常简单。 我刚刚删除了 collectionViewLayout 顶部的插图,并向 HeaderView 添加了一个新视图。 之后,我将圆角半径应用于添加的视图,它工作了:)

【讨论】:

以上是关于Swift中具有角半径的集合视图的主要内容,如果未能解决你的问题,请参考以下文章

具有角半径和阴影的 SWIFT UITableViewCell

如何将集合视图单元格设置为所有屏幕的相等行单元格

嵌套集合视图 Swift 4.2

在单元格上设置角半径会破坏 UICollectionView 的性能

如何为 CALayer 的角半径设置动画

如何在集合视图中创建图像半径?