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
}
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)
}else if 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!)
}
}