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

來源:互聯網
上載者:User

標籤:

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

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

 

效果預覽:

 

 

實現思路:

 

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

 

實現代碼:

 

import UIKitclass 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    }    }

 

 

 

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.