Swift第一次使用 APP 引导页控制器

import UIKit


class GuideViewController: UIViewController,UIScrollViewDelegate {

    private var guideScroll:UIScrollView!

    private var guidePageControl:UIPageControl!

    private var guideUseBtn:UIButton!

    private var guidePages:Int = 3 // 图片张数 默认 3


    override func viewDidLoad() {

        super.viewDidLoad()

        self.view.backgroundColor = UIColor.white;

        // Do any additional setup after loading the view.

        

        self.setSubViews();

    }

    private func setSubViews(){

        let screenSize = UIScreen.main.bounds.size;

        var subFrame = CGRect(x: 0, y: 0, width: screenSize.width, height: screenSize.height);

        self.guideScroll = UIScrollView(frame: subFrame);

        self.guideScroll.backgroundColor = self.view.backgroundColor;

        self.guideScroll.contentSize = CGSize(width: screenSize.width*CGFloat(self.guidePages), height: 0);

        self.guideScroll.showsVerticalScrollIndicator = false;

        self.guideScroll.showsHorizontalScrollIndicator = false;

        self.guideScroll.isPagingEnabled = true;

        self.guideScroll.bounces = false;

        self.guideScroll.delegate = self;

        self.view.addSubview(self.guideScroll);

        //

        subFrame = CGRect(x: (screenSize.width-60)*0.5, y: screenSize.height-20-49, width: 60, height: 20);

        self.guidePageControl = UIPageControl(frame: subFrame);

        self.guidePageControl.currentPageIndicatorTintColor = UIColor.orange;

        self.guidePageControl.pageIndicatorTintColor = UIColor.gray;

        self.guidePageControl.numberOfPages = self.guidePages

        self.view.addSubview(self.guidePageControl)

        //

        subFrame = CGRect(x: (screenSize.width-120)*0.5, y: screenSize.height-20-49-36-10, width: 120, height: 36);

        self.guideUseBtn = UIButton(frame: subFrame)

        self.guideUseBtn.backgroundColor = UIColor.gray.withAlphaComponent(0.5);

        self.guideUseBtn.layer.cornerRadius = self.guideUseBtn.frame.size.height*0.5;

        self.guideUseBtn.layer.masksToBounds = true;

        self.guideUseBtn.setTitle("立即使用", for: .normal);

        self.guideUseBtn.isHidden = true;

        self.view.addSubview(self.guideUseBtn);

        self.guideUseBtn.addTarget(self, action: #selector(buttonClick), for: .touchUpInside)

        //

        for index in 0..<self.guidePages{

            subFrame = CGRect(x: screenSize.width*CGFloat(index), y: 0, width: screenSize.width, height: screenSize.height);

            let imgView = UIImageView(frame: subFrame);

            imgView.contentMode = .scaleAspectFill;

            imgView.clipsToBounds = true;

            imgView.image = UIImage(named: "app引导页"+String(index+1));

            self.guideScroll.addSubview(imgView);

        }

    }

    func scrollViewDidScroll(_ scrollView: UIScrollView) {

        let offect = scrollView.contentOffset.x;

        for index in 0..<self.guidePages{

            if offect == scrollView.frame.size.width*CGFloat(index) {

                self.guidePageControl.currentPage = index;

                break;

            }

        }

        self.guideUseBtn.isHidden = offect != CGFloat(self.guidePages-1)*scrollView.frame.size.width;

    }

    @objc private func buttonClick(){

        UserDefaults.standard.set(false, forKey: IsFristUseAPP);

        let appDelegate =  UIApplication.shared.delegate as! AppDelegate;

        appDelegate.setProjectRootViewControll();

    }

    deinit {

        //print("RTM_GuideViewController消失")

    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值