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
    }

}
时间: 2024-10-07 23:51:00

iOS开发笔记(Swift)-通用App安装引导页的实现的相关文章

iOS 开发笔记-获取某个APP素材

有时候,我们看到别人的APP做得挺漂亮的,那么我们想查看该APP的图片素材,要怎么弄呢? 一.下载一个iTools,安装,与手机链接.点击应用,选择我们要查看的APP,选择备份,保存到桌面. 二.回到桌面,解压该.ipa文件 三.解压后,我们选择Payload-->News-->显示包内容 四.这样我们就可以拿到我们想要的APP图片素材了.

iOS开发笔记--swift语法基础

基础数据类型 Swift 的类型是在 C 和 Objective-C 的基础上提出的,Int是整型:Double和Float是浮点型:Bool是布尔型:String是字符串.Swift 还有两个有用的集合类型,Array和Dictionary,请参考集合类型. Swift 还增加了 Objective-C 中没有的类型比如元组(Tuple).元组可以让你创建或者传递一组数据,比如作为函数的返回值时,你可以用一个元组可以返回多个值. Swift 还增加了可选(Optional)类型,用于处理值缺失

IOS开发语言Swift入门连载---继承

IOS开发语言Swift入门连载-继承 一个类可以继承(inherit)另一个类的方法(methods),属性(property)和其它特性.当一个类继承其它类时,继承类叫子类(subclass),被继承类叫超类(或父类,superclass).在 Swift 中,继承是区分「类」与其它类型的一个基本特征. 在 Swift 中,类可以调用和访问超类的方法,属性和下标脚本(subscripts),并且可以重写(override)这些方法,属性和下标脚本来优化或修改它们的行为.Swift 会检查你的

iOS开发系列--Swift进阶

概述 上一篇文章<iOS开发系列--Swift语言>中对Swift的语法特点以及它和C.ObjC等其他语言的用法区别进行了介绍.当然,这只是Swift的入门基础,但是仅仅了解这些对于使用Swift进行iOS开发还是不够的.在这篇文章中将继续介绍一些Swift开发中一些不常关注但是又必备的知识点,以便对Swift有进一步的了解. 访问控制 和其他高级语言一样Swift中也增加了访问控制,在Swift中提供了private.internal.public三种访问级别,但是不同的是Swift中的访问

黑马程序员-Xcode离线帮助文档的安装 ios开发-开发文档安装 isa指针 superclass指针 ios系统分四层:

Xcode离线帮助文档的安装 ios开发-开发文档安装 iOS开发肯定离不开开发文档,苹果有在线帮助文档,xCode其实可以下载模拟器文档和iOS8.1文档的,不过下载的速度实在不敢恭维,而且比较头疼的是不显示下载进度条的,苹果的开发文档都是放在)/应用程序/Xcode.app/Contents/Developer/Documentation/DocSets路径下,该路径下可以看到三个文件,xCode 6.1文档(com.apple.ADC_Reference_Library.Developer

IOS开发语言Swift入门连载---类和结构体

IOS开发语言Swift入门连载-类和结构体 类和结构体是人们构建代码所用的一种通用且灵活的构造体.为了在类和结构体中实现各种功能,我们必须要严格按照常量.变量以及函数所规定的语法规则来定义属性和添加方法. 与其他编程语言所不同的是,Swift 并不要求你为自定义类和结构去创建独立的接口和实现文件.你所要做的是在一个单一文件中定义一个类或者结构体,系统将会自动生成面向其它代码的外部接口. 注意: 通常一个类 的实例被称为对象 .然而在Swift 中,类和结构体的关系要比在其他语言中更加的密切,本

IOS开发语言Swift入门连载---枚举

IOS开发语言Swift入门连载-枚举 枚举定义了一个通用类型的一组相关的值,使你可以在你的代码中以一个安全的方式来使用这些值. 如果你熟悉 C 语言,你就会知道,在 C 语言中枚举指定相关名称为一组整型值.Swift 中的枚举更加灵活,不必给每一个枚举成员提供一个值.如果一个值(被认为是"原始"值)被提供给每个枚举成员,则该值可以是一个字符串,一个字符,或是一个整型值或浮点值. 此外,枚举成员可以指定任何类型的相关值存储到枚举成员值中,就像其他语言中的联合体(unions)和变体(v

IOS开发语言Swift入门连载---嵌套类型

IOS开发语言Swift入门连载-嵌套类型 枚举类型常被用于实现特定类或结构体的功能.也能够在有多种变量类型的环境中,方便地定义通用类或结构体来使用,为了实现这种功能,Swift允许你定义嵌套类型,可以在枚举类型.类和结构体中定义支持嵌套的类型. 要在一个类型中嵌套另一个类型,将需要嵌套的类型的定义写在被嵌套类型的区域{}内,而且可以根据需要定义多级嵌套. 嵌套类型实例 下面这个例子定义了一个结构体BlackjackCard (二十一点),用来模拟BlackjackCard 中的扑克牌点数.Bl

ios开发 上传到App Store 时出错. iTunes Store Operation Failed, An Error occurred uploading to the iTunes store.

ios开发 上传到App Store 时出错. iTunes Store Operation Failed,    An Error occurred uploading to the iTunes store. 的解决方法,网上找了很多. 如下(当然没有解决我的问题,可以一试): 今天在提交app的时候,最后一步报错, An error occurred uploading to the iTunes Store! 后来上网查了查资料,在这里整理一下: 第一: 有可能是中文编码的问题,需要把编