iOS開發筆記(Swift)-通用App安裝引導頁的實現


之前一直做的項目都是基於OC開發的,最近開始嘗試使用Swift語言來重寫整個項目。

本篇文章主要是講述如何使用Swift來實現常見的通用App安裝引導界面。

 

效果預覽:

 

 

實現思路:

 

主要是采用了UIScrollView作為容器,將其ContentSize的寬度設置為(引導頁數量)*屏幕寬度,並將pagingEnabled設為true,隱藏滾動條。作為指示的UIPageControl與UIScrollView直接添加到self.view之上,並保存UiPageControl居於最上。

 

實現代碼:

 

import UIKit


class YSYGuideViewController: UIViewController,UIScrollViewDelegate {
    var scrollView:UIScrollView!
    var pageControl:UIPageControl!
    var startBtn:UIButton!
    

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
        loadCustomLayout()
        
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    //scrollview委托
    func scrollViewDidScroll(scrollView: UIScrollView) {
        var offset=scrollView.contentOffset
        pageControl.currentPage=Int(offset.x/Yunshouyi.SCREEN_WIDTH)
        if(pageControl.currentPage==2){
            startBtn.hidden=false
        }else{
            startBtn.hidden=true
        }
    }
    
    //載入自定義布局
    func loadCustomLayout(){
        scrollView=UIScrollView(frame: CGRectMake(0, 0, Yunshouyi.SCREEN_WIDTH, Yunshouyi.SCREEN_HEIGHT))
        scrollView.pagingEnabled=true
        scrollView.showsHorizontalScrollIndicator=false
        scrollView.showsVerticalScrollIndicator=false
        scrollView.contentSize=CGSizeMake(3*Yunshouyi.SCREEN_WIDTH, Yunshouyi.SCREEN_HEIGHT)
        for i in 1...4{
            var image=UIImage(named: "Guideline-\(i)")
            var imageView=UIImageView(image: image)
            imageView.frame=CGRectMake(CGFloat((i-1))*Yunshouyi.SCREEN_WIDTH, 0, Yunshouyi.SCREEN_WIDTH, Yunshouyi.SCREEN_HEIGHT)
            imageView.contentMode = UIViewContentMode.ScaleToFill
            scrollView.addSubview(imageView)
            
        }
        pageControl=UIPageControl(frame: CGRectMake(Yunshouyi.SCREEN_WIDTH/2-100, Yunshouyi.SCREEN_HEIGHT-100, 200, 100))
        startBtn=UIButton(frame: CGRectMake(Yunshouyi.SCREEN_WIDTH/2-60, Yunshouyi.SCREEN_HEIGHT/2+50, 120, 35))
        
        pageControl.numberOfPages=3;
        pageControl.currentPage=0
        
        startBtn.setTitle("馬上體驗", forState: UIControlState.Normal)
        startBtn.setBackgroundImage(UIImage(named: "StartButton"), forState: UIControlState.Normal)
        startBtn.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal)
        startBtn.addTarget(self, action: "guideOver", forControlEvents: UIControlEvents.TouchUpInside)
        startBtn.hidden=true
        
        
        scrollView.bounces=false
        scrollView.delegate=self
        self.view.addSubview(scrollView)
        self.view.addSubview(pageControl)
        self.view.addSubview(startBtn)
        
    }
    
    //開始使用app
    func guideOver(){
        var mainVC=UINavigationController(rootViewController: UITableViewController())
        self.presentViewController(mainVC, animated: true, completion: nil)
        
    }

    
    override func prefersStatusBarHidden() -> Bool {
     return true
    }
    

}

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM