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
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。