Swift - 启动时的向导页(新手引导)的制作

Swift - 启动时的向导页(新手引导)的制作,第1张

概述在很多iOS产品或者一些应用版本的升级中,新手指导(引导页面)都是一个常用的功能,通过说明页的左右滑动,可以很清晰的展示系统的一些功能特性。制作思路如下: 1,如何检测应用是第一次登陆启动 我们可以使用NSUserDefaults类来解决这个问题。其特点是不会因应用的关闭、系统的重启而丢失。所以可以用来标记是否启动过。 2,新手引导视图控制器我们使用UIScrollView 比如我们设置了一套新手 在很多iOS产品或者一些应用版本的升级中,新手指导(引导页面)都是一个常用的功能,通过说明页的左右滑动,可以很清晰的展示系统的一些功能特性。制作思路如下:
1,如何检测应用是第一次登陆启动 我们可以使用NSUserDefaults类来解决这个问题。其特点是不会因应用的关闭、系统的重启而丢失。所以可以用来标记是否启动过。
2,新手引导视图控制器我们使用UIScrollVIEw 比如我们设置了一套新手引导图共三张,都添加到UIScrollVIEw里,这时UIScrollVIEw的内容宽度是3倍于照片或者屏幕的宽度。
3,为适应不同分辨率,需要设计几套不同尺寸的图 iOS图片资源的命名规则是: basename + screen size modifIEr + urischeme + orIEntation + scale + device + .ext basename:文件名 screen size modifIEr:屏幕尺寸修饰符(iPhone5出现后才有,如 -568h) urischeme:标识URI方案的字符串(一般情况不需要关心) orIEntation:屏幕方向(横屏为-Landscape,竖屏为-Portrait) scale:缩放尺寸(普通屏不需要,Retina屏为@2x,iPhone6后多了个@3x) device:设备类型(~ipad表示供iPad使用) .ext:文件扩展名(可以是png或其他格式) 尽管文件很复杂,但调用却很简单,只要写上basename.ext即可。
4,效果图如下: 5,文件结构如下: 6,入口类:AppDelegate.swift
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 import UIKit @UIApplicationMain class AppDelegate : UIResponder , UIApplicationDelegate { var window: UIWindow ? func application(application: UIApplication dIDFinishLaunchingWithOptions launchOptions: [ NSObject : AnyObject ]?) -> Bool { // OverrIDe point for customization after application launch. //增加标识,用于判断是否是第一次启动应用... if (!( NSUserDefaults .standardUserDefaults().boolForKey( "everLaunched" ))) { .standardUserDefaults().setBool( true ) guIDeVIEwController = GuIDeVIEwController () self .window!.rootVIEwController=guIDeVIEwController; @H_403_273@ println ( "guIDevIEw launched!" ) } return true } applicationWillResignActive(application: ) { } applicationDIDEnterBackground(application: ) { } applicationWillEnterForeground(application: ) { } applicationDIDBecomeActive(application: ) { } applicationWillTerminate(application: ) { } }

7,向导页面:GuIDeVIEwController.swift 35 36 37 38 39 40 41 42 43 44 45 46
UIVIEwController uiscrollviewdelegate numOfPages = 3 @H_478_404@overrIDe vIEwDIDLoad() { frame = .vIEw.bounds //scrollVIEw的初始化 scrollVIEw= UIScrollVIEw () scrollVIEw.frame= .vIEw.bounds scrollVIEw.delegate = self //为了能让内容横向滚动,设置横向内容宽度为3个页面的宽度总和 scrollVIEw.contentSize= CGSizeMake (frame.size.wIDth* CGfloat (numOfPages),frame.size.height) "\(frame.size.wIDth*CGfloat(numOfPages)),\(frame.size.height)" scrollVIEw.pagingEnabled= true scrollVIEw.showsHorizontalScrollindicator= false scrollVIEw.showsverticalScrollindicator= false scrollVIEw.scrollsTotop= false for i in 0..<numOfPages{ imgfile = "jianjIE\(Int(i+1)).png" (imgfile) image = UIImage (named: "\(imgfile)" ) imgVIEw = UIImageVIEw (image: image) imgVIEw.frame= CGRectMake (i),monospace!important; min-height:inherit!important">(0), frame.size.wIDth,frame.size.height) scrollVIEw.addSubvIEw(imgVIEw) } scrollVIEw.contentOffset = CGPointZero .vIEw.addSubvIEw(scrollVIEw) } scrollVIEwDIDScroll(scrollVIEw: !) { "scrolled:\(scrollVIEw.contentOffset)" ) twIDth = (numOfPages-1) * .vIEw.bounds.size.wIDth (scrollVIEw.contentOffset.x > twIDth) { mainStoryboard = UIStoryboard (name: "Main" nil ) vIEwController = mainStoryboard.instantiateInitialVIEwController() as UIVIEwController .presentVIEwController(vIEwController,animated: ) } } }
总结

以上是内存溢出为你收集整理的Swift - 启动时的向导页(新手引导)的制作全部内容,希望文章能够帮你解决Swift - 启动时的向导页(新手引导)的制作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1079615.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存