zoukankan      html  css  js  c++  java
  • 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
        }
        
    
    }

     

  • 相关阅读:
    git中文输入显示问题
    how to write a DLL/SO in C/C++ for Python
    python,ctypes
    vc++,dll,lib文件百科
    c++ singleton
    build python on windows
    web前端后端
    动态链接库*.so的编译与使用
    qt,ui,QUiLoader
    qt,script
  • 原文地址:https://www.cnblogs.com/mantgh/p/4604129.html
Copyright © 2011-2022 走看看