Swift 项目首次启动轮播页的制作
2016-06-10 12:38
369 查看
都好久没有发Swift的博客了。最近利用休息时间在模仿一点停的项,使用Swift写的。
一般我们项目在安装后的第一次启动都会有一个左右滑动的轮播页,一般是关于app的宣传页面或是介绍或是广告。总之是有这么一个东西。这个怎么做呢?
找思路之前先要分析需求:
1.安装后首次启动app的时候会有这个轮播页
2.左右滑动
……
有这两点就可以做出来了。
2.每次启动程序都会首先运行一个方法:
这个方法,我们没有设置跟控制,项目就会默认是ViewController。
下面问题就简单了,我们在这个方法里面做切换跟控制器的操作。
AppDelegate里切换跟控制器
在上面的方法里面加入:(IndexViewController 轮播页控制器)
这样我们就可以切换跟控制器了。
运行一次
运行一次,这好做,我们可以在NSUserDefaults里面设置一个键值对。运行:
这个方法时,我们先读这个键值对,里面有值,我们就进入项目默认的控制器ViewController,没有就进入IndexViewController。
在IndexViewController里面我们给这个键值对设置一个值。也就是说,只要运行过IndexViewController之后,这个键值对有始终会存在一个值,那么app以后的启动就不会进入IndexViewController,而是默认的ViewController。
IndexViewController制作轮播页/切换跟控制器/设置键值对
在app进入IndexViewController里面后,又会存在一个问题?轮播页轮播完后,怎么进入app呢?
这回时候我们就又需要切换一次跟控制器为默认的跟控制器。
在切换之前我们也把上面提到的键值对设置了一个值,这样以后app启动后,这键就有值了。
一般我们项目在安装后的第一次启动都会有一个左右滑动的轮播页,一般是关于app的宣传页面或是介绍或是广告。总之是有这么一个东西。这个怎么做呢?
思路
做什么事情之前,首先是思路。找思路之前先要分析需求:
1.安装后首次启动app的时候会有这个轮播页
2.左右滑动
……
有这两点就可以做出来了。
分析需求-实现需求
1.安装后首次启动有,说明这个轮播页只运行一次,以后就不再出现了;2.每次启动程序都会首先运行一个方法:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. return true }
这个方法,我们没有设置跟控制,项目就会默认是ViewController。
下面问题就简单了,我们在这个方法里面做切换跟控制器的操作。
AppDelegate里切换跟控制器
在上面的方法里面加入:(IndexViewController 轮播页控制器)
let indexVC = IndexViewController(); window?.rootViewController = indexVC;
这样我们就可以切换跟控制器了。
运行一次
运行一次,这好做,我们可以在NSUserDefaults里面设置一个键值对。运行:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
这个方法时,我们先读这个键值对,里面有值,我们就进入项目默认的控制器ViewController,没有就进入IndexViewController。
在IndexViewController里面我们给这个键值对设置一个值。也就是说,只要运行过IndexViewController之后,这个键值对有始终会存在一个值,那么app以后的启动就不会进入IndexViewController,而是默认的ViewController。
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. // 设置跟控制器 let launch = NSUserDefaults.standardUserDefaults().valueForKey("firstLaunch"); if launch == nil { let indexVC = IndexViewController(); window?.rootViewController = indexVC; } else{ window?.rootViewController = ViewController(); } return true }
IndexViewController制作轮播页/切换跟控制器/设置键值对
在app进入IndexViewController里面后,又会存在一个问题?轮播页轮播完后,怎么进入app呢?
这回时候我们就又需要切换一次跟控制器为默认的跟控制器。
// 立即体验按钮点击事件 @IBAction func btnClick(sender: UIButton) { NSUserDefaults.standardUserDefaults().setValue(firstLaunch, forKey: firstLaunch); let window = UIApplication.sharedApplication().keyWindow; if ((window?.rootViewController) != nil) { window?.rootViewController?.removeFromParentViewController(); window?.rootViewController = nil; } window!.rootViewController = ViewController(); let cATransition = CATransition(); cATransition.duration = 0.3; cATransition.type = kCATransitionFade; window?.layer.addAnimation(cATransition, forKey: nil); window!.makeKeyWindow(); }
在切换之前我们也把上面提到的键值对设置了一个值,这样以后app启动后,这键就有值了。
效果图
相关文章推荐
- [swift学习之十六]RunTime练习一
- swift:定时器的使用、回调函数的指定方式
- Swift 延时执行
- coreData relationShip
- 为什么 NSLog 不支持 Swift 对象(转)
- swift常用词汇(持续更新)
- Swift使用NSJSONSerialization请求解析JOSN文件
- iOS开发 - Swift使用JavaScriptCore与JS交互
- 為 Swift 代碼編寫含有 Mardown 語法的文檔
- swift 图层设置遮罩层
- swift iOS8 XIB 问题
- Swift
- swift中变量的get和set
- swift UIBezierPath基本使用
- 制作Swift Framework
- 【Swift】UISearchBar输入框的背景颜色
- 非常全面的Swift学习资料整理
- swift方法顺序 不成文规定
- Swift实现堆排序算法的代码示例
- Swift模拟从服务区端加载指定的控制器类型