swift 启动页面

来源:互联网 发布:linux superuser 编辑:程序博客网 时间:2024/05/29 19:13

1/ 

func application(application:UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject:AnyObject]?) -> Bool {

        

        // 启动过渡页

       let allowShowStartPages = !NSUserDefaults.standardUserDefaults().boolForKey(kKeyIsFirstStartApp)

       if allowShowStartPages {

            UIApplication.sharedApplication().statusBarHidden =true // 隐藏状态栏

           let startPagesWindow = TTStartPagesWindow()

            startPagesWindow.finished = { () ->Void in

               NSUserDefaults.standardUserDefaults().setBool(true, forKey:kKeyIsFirstStartApp)

            }

        }

        return true

    }


2/

import UIKit


class TTStartPagesWindow:UIWindow ,UIScrollViewDelegate{


   var finished: (() -> Void)? // 完成的回掉

   var strongSelf: TTStartPagesWindow?


   private(set) var  pictureScrollView:UIScrollView?

   private(set) var  pageContrlolerView:UIPageControl?

   private(set) var  advertisementCurrent:NSInteger =0


   private(set) var  enterButton:UIButton?


   private(set) var oneImageView:UIImageView!

   private(set) var twoImageView:UIImageView!

   private(set) var threeImageView:UIImageView!

    

    convenience init(){

      self.init(frame:UIScreen.mainScreen().bounds)

    }


   override init(frame:CGRect) {

       super.init(frame: frame)

        self.windowLevel =UIWindowLevelAlert + 1

       self.hidden =false


        self.buildDataAndUI()


       self.enterButton =UIButton(frame: CGRectMake(self.bounds.size.width/2 - 100, self.bounds.size.height -84, 200, 44))

       self.enterButton!.setTitle("立即体验", forState: .Normal)

       self.enterButton?.setTitleColor(UIColor.greenColor(), forState:UIControlState.Normal)

        self.enterButton?.layer.masksToBounds = true

        self.enterButton?.layer.cornerRadius = 3

        self.enterButton?.layer.borderWidth = 1

        self.enterButton?.layer.borderColor = UIColor.orangeColor().CGColor

        self.enterButton!.backgroundColor =UIColor.whiteColor()

       self.enterButton!.addTarget(self, action:"enter", forControlEvents: .TouchUpInside)

       self.addSubview(self.enterButton!)

        

       self.strongSelf =self


    }

   required init(coder aDecoder:NSCoder) {

        fatalError("init(coder:) has not been implemented")

    }

    

    //MARK:- Delegate or DataSource

   func scrollViewDidEndDecelerating(scrollView: UIScrollView) {

       self.advertisementCurrent =NSInteger(scrollView.contentOffset.x / scrollView.bounds.size.width)

        self.pageContrlolerView?.currentPage =self.advertisementCurrent

    }

    //MARK:- NSNotification Method

    

    //MARK:- Action Method

    //MARK: 登录

   func enter() {

       UIView.animateWithDuration(0.5, animations: { () ->Void in

            self.transform =CGAffineTransformMakeScale(3.0,3.0)

           self.alpha =0

            }, completion: { (finished) ->Void in

               self.finished?()

               self.finished =nil

               self.strongSelf =nil

        })

    }

    //MARK:- Private Method

   private func buildDataAndUI(){

       //数据

        

        //UIScrollView

       self.pictureScrollView =UIScrollView(frame: self.bounds)

        self.pictureScrollView!.bounces =false

        self.pictureScrollView!.pagingEnabled =true

        self.pictureScrollView!.delegate =self

        self.pictureScrollView!.showsVerticalScrollIndicator = false

        self.pictureScrollView!.showsHorizontalScrollIndicator = false

        self.pictureScrollView!.userInteractionEnabled = true

        self.addSubview(self.pictureScrollView!)

        self.pictureScrollView?.backgroundColor =UIColor.whiteColor()

        self.pictureScrollView?.contentSize =CGSizeMake(self.bounds.size.width * 3, 0)

        

       var  i:NSInteger =1

       for  i in 0...3 {

           if i == 1 {

               self.oneImageView =UIImageView(frame: CGRectMake(0, 0, self.bounds.size.width,self.bounds.size.height))

               self.oneImageView.backgroundColor =UIColor.yellowColor()

                self.pictureScrollView?.addSubview(self.oneImageView)

            }elseif i == 2{

                self.twoImageView =UIImageView(frame: CGRectMake(self.bounds.size.width * CGFloat(i-1),0, self.bounds.size.width,self.bounds.size.height))

               self.twoImageView.backgroundColor =UIColor.greenColor()

                self.pictureScrollView?.addSubview(self.twoImageView)

            }else if i ==3{

               //闪烁的星星

                self.threeImageView =UIImageView(frame: CGRectMake(self.bounds.size.width * CGFloat(i-1),0, self.bounds.size.width,self.bounds.size.height))

               self.threeImageView.backgroundColor =UIColor.grayColor()

                self.pictureScrollView?.addSubview(self.threeImageView)

            }

            

        }

        

        //UIPageControl

        self.pageContrlolerView =UIPageControl(frame: CGRectMake(0,self.bounds.size.height -40, self.bounds.size.width,40))

        self.pageContrlolerView!.numberOfPages =3

        self.pageContrlolerView!.currentPage =0

        self.pageContrlolerView!.pageIndicatorTintColor = UIColor.grayColor()

        self.addSubview(self.pageContrlolerView!)

    }


}




0 0
原创粉丝点击