CNMetaCodeHomePageController.swift 2.87 KB
//
//  CNMetaCodeHomePageController.swift
//  metaCode
//
//  Created by daojian on 2023/6/1.
//

import Foundation
import UIKit
import YYCategories

let Width: CGFloat  = UIScreen.main.bounds.size.width
let Height: CGFloat = UIScreen.main.bounds.size.height

class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDelegate, NewPagedFlowViewDataSource, CNCustomIndexViewDelegate{
    
    private var tabBarY:CGFloat = 0.0
    
    // MARK: - 懒加载
    ///数据源
    lazy var dataArray: NSMutableArray = {
        
        return NSMutableArray.init()
    }()
    
    ///左右滑动分页view
    lazy var pageFlowView: NewPagedFlowView = {
        let pageFlowView = NewPagedFlowView.init(frame: CGRectMake(0, 0, Width, Height));

        pageFlowView.delegate = self;
        pageFlowView.dataSource = self;
        pageFlowView.minimumPageAlpha = 0.1;
        pageFlowView.isCarousel = false;
        pageFlowView.orientation = .horizontal;
        pageFlowView.leftRightMargin = 20;
        pageFlowView.isOpenAutoScroll = false;
        
        //左右图片的距离顶部和底部的高度
        pageFlowView.topBottomMargin = 100;
        
        return pageFlowView
        
    }()
    
    //MARK: 生命周期方法
    override func viewDidLoad() {
        super.viewDidLoad()
        
        self.tabBarY = (self.tabBarController?.tabBar.top)!
        
        self.view.backgroundColor = KVCBackgroupColor

        for i in (0..<2) {
            self.dataArray.add("122")
        }
        
        self.setupUI()
    }
    
    // MARK: - 添加UI
    func setupUI(){
        self.view.addSubview(self.pageFlowView)
        self.pageFlowView.reloadData()
    }
    
    // MARK: - NewPagedFlowView代理
    
    func numberOfPages(in flowView: NewPagedFlowView!) -> Int {
        self.dataArray.count
    }
    
    func flowView(_ flowView: NewPagedFlowView!, cellForPageAt index: Int) -> PGIndexBannerSubiew! {
        var bannerView:CNCustomIndexView? = flowView.dequeueReusableCell() as? CNCustomIndexView;
        
        if (bannerView == nil) {
            bannerView = CNCustomIndexView.init(frame: CGRectMake(0, 0, Width-50, Height));
            bannerView?.tag = index + 100;
            bannerView?.layer.cornerRadius = 4;
            bannerView?.layer.masksToBounds = false;
        }
        bannerView?.superScrollView = flowView.scrollView;
        bannerView?.associatedVCView = self.view;
        bannerView?.delegate  = self
        return bannerView;
    }
    
    func sizeForPage(in flowView: NewPagedFlowView!) -> CGSize {
        return CGSize(width: Width-50, height: Height)
    }
    
    //MARK: - CNCustomIndexView 代理方法
    func customIndexViewDidScroll(scrollView: UIScrollView) {
        let fabsOffset: CGFloat = abs(scrollView.contentOffset.y - KSreenHeight)
        self.tabBarController?.tabBar.top = self.tabBarY + fabsOffset
    }
    
}