swift collectionView写的新手引导

swift 使用collectionview写的新手引导
直接上代码:

import UIKit


let 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(in collectionView: UICollectionView) -> Int {
        return 1
    }
    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.
    }


    /*
    // MARK: - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        // Get the new view controller using segue.destinationViewController.
        // Pass the selected object to the new view controller.
    }
    */

}

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 = 10
        btn.layer.masksToBounds = true
        btn.layer.borderWidth = 1
        btn.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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值