加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift 项目首次启动轮播页的制作

发布时间:2020-12-14 06:55:20 所属栏目:百科 来源:网络整理
导读:都好久没有发Swift的博客了。最近利用休息时间在模仿 一点停 的项,使用Swift写的。 一般我们项目在安装后的第一次启动都会有一个左右滑动的轮播页,一般是关于app的宣传页面或是介绍或是广告。总之是有这么一个东西。这个怎么做呢? 思路 做什么事情之前,

都好久没有发Swift的博客了。最近利用休息时间在模仿一点停的项,使用Swift写的。
一般我们项目在安装后的第一次启动都会有一个左右滑动的轮播页,一般是关于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启动后,这键就有值了。

效果图

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读