Swift5学习之旅之UICollectionView、UIVisualEffectView(模糊)

这篇博客介绍了如何在Swift5中使用UICollectionView创建网格布局,并结合UIVisualEffectView实现图片的模糊效果。作者提供了代码示例,展示如何自定义UICollectionViewCell,设置单元格内容和模糊视图。同时,给出了代码仓库的Dropbox链接供读者下载和学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Swift5学习之旅-----UICollectionView、UIVisualEffectView(模糊)

在这里插入图片描述

  • 整体代码
    Github还没上传,先用着Dropbox(可能要翻墙),看完有收获的感谢点个赞👍
    https://www.dropbox.com/sh/jseevw291rrgf6d/AACwt1FsOKRKuEi64glXGWd_a?dl=0
    Dropbox UICollectionView、UIVisualEffectView(模糊)

  • UICollectionViewCell

class MyCollectionViewCell: UICollectionViewCell {
    var title: UILabel!
    var imageView: UIImageView!
    var blur: UIVisualEffectView!
    override init(frame: CGRect) {
        super.init(frame: frame)
        
        imageView = UIImageView()
        imageView.frame = CGRect(x: 10, y: 10, width:bounds.size.width, height: bounds.size.width)
        blur = UIVisualEffectView(frame: CGRect(x: 10, y: 10, width:bounds.size.width, height: bounds.size.width))
        title = UILabel(frame: CGRect(x: 0, y: imageView.frame.origin.y + imageView.frame.size.width + 10, width: self.bounds.size.width, height: 20))
        
        title.textAlignment = .center
        
        addSubview(imageView)
        addSubview(title)
        addSubview(blur)
        
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    
}

  • UICollectionView
class MyCollectionView: UICollectionView {
    
    
    override init(frame: CGRect, collectionViewLayout layout: UICollectionViewLayout) {
        let layout = UICollectionViewFlowLayout()
        //每个元素的大小
        layout.itemSize = CGSize(width: (frame.width - 60)/3, height: (frame.width)/3 + 20)
        layout.minimumLineSpacing = 1
        layout.minimumInteritemSpacing = 1
        layout.footerReferenceSize = CGSize(width: frame.width, height: 50)
        layout.headerReferenceSize = CGSize(width: frame.width, height: 50)
        super.init(frame: frame, collectionViewLayout: layout)
        self.backgroundColor = UIColor.clear
        self.register(MyCollectionViewCell.self, forCellWithReuseIdentifier: "cell")
        
        
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值