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消失")
}
}