CNMetaCodeHomePageController.swift 3.57 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)!
        

        for i in (0..<2) {
            self.dataArray.add("122")
        }
        
        self.setupUI()
        
//        self.tabBarController?.tabBar.top = self.tabBarY + KSreenHeight

    }
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
    }
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        self.view.height = KSreenHeight
        

    }
    // MARK: - 添加UI
    func setupUI(){
        self.view.backgroundColor = KVCBackgroupColor
        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 customIndexViewWillBeiginScroll(scrollView: UIScrollView) {
        self.view.height = KSreenHeight
    }
    func customIndexViewDidScroll(scrollView: UIScrollView) {
        let fabsOffset: CGFloat = abs(scrollView.contentOffset.y - KSreenHeight)
        self.tabBarController?.tabBar.top = self.tabBarY + fabsOffset
//        print("view 的frame ",self.view.frame)
        
        
    }
   
    
    func customIndexViewDidEndScroll(scrollView: UIScrollView) {
        if scrollView.contentOffset.y == KSreenHeight {
            self.view.height = self.tabBarY
        }
    }
    
}