Swift使用CollectionView实现广告栏滑动效果
本文实例为大家分享了Swift实现广告栏滑动效果的具体代码,供大家参考,具体内容如下
创建一个类:PlayCollectionViewController.swift
//cell重用标识 privateletreuseIdentifier="reuseIdentifier" classPlayCollectionViewController:UICollectionViewController{ //页面个数 privateletpageCount=6 //布局对象(自定义布局) privatevarlayout:UICollectionViewFlowLayout=PlayLayout() init(){ super.init(collectionViewLayout:layout) } requiredinit?(coderaDecoder:NSCoder){ fatalError("init(coder:)hasnotbeenimplemented") } overridefuncviewDidLoad(){ super.viewDidLoad() //注册cell collectionView?.registerClass(NewfearureCell.self,forCellWithReuseIdentifier:reuseIdentifier) } //MARK:-UICollectionDataSource overridefunccollectionView(collectionView:UICollectionView,numberOfItemsInSectionsection:Int)->Int{ returnpageCount } overridefunccollectionView(collectionView:UICollectionView,cellForItemAtIndexPathindexPath:NSIndexPath)->UICollectionViewCell{ letcell=collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier,forIndexPath:indexPath)as!NewfearureCell cell.imageIndex=indexPath.item returncell } }
自定义CollectionView的cell
//MARK:-在这里我们依然在(PlayCollectionViewController.swift的文件中)自定义collectionViewCell classNewfearureCell:UICollectionViewCell{ //保存图片索引 privatevarimageIndex:Int?{ didSet{ //根据页码创建图片名字(需要每张图片的名称只有最有最有一个数不同) iconView.image=UIImage(named:"image_\(imageIndex!)") } } overrideinit(frame:CGRect){ super.init(frame:frame) //初始化UI setupUI() } requiredinit?(coderaDecoder:NSCoder){ fatalError("init(coder:)hasnotbeenimplemented") } privatefuncsetupUI(){ //添加子控件到contentView contentView.addSubview(iconView) //布局子控件位置(填充屏幕) iconView.xmg_Fill(contentView) } //MARK:懒加载 privatelazyvariconView=UIImageView() }
继承UICollectionViewFlowLayout,自定义布局
privateclassPlayLayout:UICollectionViewFlowLayout{ //重写系统准备布局的方法 overridefuncprepareLayout(){ //设置layout布局 itemSize=UIScreen.mainScreen().bounds.size minimumInteritemSpacing=0 minimumLineSpacing=0 scrollDirection=UICollectionViewScrollDirection.Horizontal //设置其他属性 collectionView?.showsHorizontalScrollIndicator=false collectionView?.bounces=false collectionView?.pagingEnabled=true } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。