collectionview 新手引导

Swift使用collectionview写的新手引导

直接上代码:

import UIKitlet

leadImageNameArr = ["start1","start2","start3","start4"]

class TTLeadNewUserViewController: UIViewController,UICollectionViewDelegate,UICollectionViewDataSource {  

var collectionView : UICollectionView!  

override func viewDidLoad() {    

  super.viewDidLoad()     

  setUpCollectionView()  

  fileprivate func setUpCollectionView()  {    

  let layout = UICollectionViewFlowLayout()        layout.itemSize= CGSize.init(width: MainWide, height: MainHeight)        layout.minimumLineSpacing=0

layout.minimumInteritemSpacing=0

layout.scrollDirection=.horizontal

collectionView = UICollectionView.init(frame: self.view.bounds, collectionViewLayout: layout)        collectionView.isPagingEnabled= true      

collectionView.register(LeadImageCollectionCell.self, forCellWithReuseIdentifier:"LeadImageCollectionCell")   

   collectionView.dataSource= self       

collectionView.delegate= self     

  collectionView.showsHorizontalScrollIndicator= false     

  self.view.addSubview(collectionView)    }   

func numberOfSections(incollectionView: UICollectionView) -> Int {        return1}  

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {        return leadImageNameArr.count}  

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {      

let cell = collectionView.dequeueReusableCell(withReuseIdentifier:"LeadImageCollectionCell", for: indexPath) as! LeadImageCollectionCell     

  cell.setImage(leadImageNameArr[indexPath.row])     

  if indexPath.row== leadImageNameArr.count-1{            cell.setButtonOnImage()        }     

  return cell  

}  

override func didReceiveMemoryWarning() {        super.didReceiveMemoryWarning()        // Dispose of any resources that can be recreated.    }/*

class LeadImageCollectionCell: UICollectionViewCell {  

fileprivate var imageView : UIImageView!  

fileprivate var button : UIButton?   

override init(frame: CGRect) {       

super.init(frame: frame)     

  setUpImage(frame)    }

  fileprivate func setUpImage(_ frame:CGRect) {     

  imageView = UIImageView()     

  self.contentView.addSubview(imageView)    }  

override func layoutSubviews() {        imageView.frame= CGRect.init(x:0,y:0, width: self.frame.size.width, height: self.frame.size.height)    }

  open func setImage(_ imageName : String){        removeButton()        imageView.image= UIImage.init(named: imageName)    }  

func removeButton() {        if button != nil {    

      button?.removeFromSuperview()      

}    } 

  func setButtonOnImage()  {     

  let btn = UIButton.init(type:.custom)    

  btn.frame= CGRect.init(x: MainWide*0.25,y: MainHeight*0.8, width: MainWide*0.5, height: MainHeight*0.05)      

btn.setTitleColor(UIColor.collorWirhRGB(r:227, g:62, b:42), for:.normal)   

   btn.setTitle("立即体验", for:.normal)     

 btn.layer.cornerRadius=10btn.layer.masksToBounds= true        btn.layer.borderWidth=1btn.layer.borderColor= UIColor.orange.cgColor

btn.addTarget(self, action:#selector(goHomeVc), for: UIControlEvents.touchUpInside)button = btn        self.contentView.addSubview(btn)    }  

@objc func goHomeVc(){    //跳转到homeVc        //TTPopTool.gohomeVc()    }  

required init?(coder aDecoder: NSCoder) {        fatalError("init(coder:) has not been implemented")    }}

轮播图也可以使用collectionview写的。。

权当自己做个笔记了。。

swift  版本 没有什么动画,这个collectionview也可以用来做轮播图


另外推荐一个自己写的弹出自定义视图的工具,支持pod[给个Star](https://github.com/aasdsjk/JKViewAnimation)

你可能感兴趣的:(collectionview 新手引导)