• 切换皮肤的实现


    详细代码请前往: https://git.oschina.net/null_248_6948/skinChange

     

    1.界面搭建

    #01.添加三个按钮到StackView,位置设为-44

    #02.托线

    #03.设置tag

    #04.动画执行

    // skinViewTopCons.constant = skinViewTopCons.constant == 0 ? -44 : 0

    // self.view.layoutIfNeeded()

    2.基本实现:

    #01.按照提供的图片用对应方法设置皮肤

    // bgImageView.image = UIImage(named: "skin/(skinName)/back.png")

    // iconButton.setImage(UIImage(named: "skin/(skinName)/icon.png"), for: .normal)

    #02.把当前皮肤存到沙盒中

    // UserDefaults.standard.set(skinName, forKey: kSkinKey)

    // 强制同步当前皮肤到沙盒

    #03.设置默认皮肤(若沙盒中存有皮肤则默认的无效)

    // UserDefaults.standard.object(forKey: kSkinKey) as? String ?? "chunjie"

    3.多控制器换肤:

    #01.新建OtherViewController.swift

    // 用于显示跳转到的另一个界面的皮肤,保留之前切换好的皮肤

    #02.新建HJJSkinTools.swift

    // 1.设置启动显示皮肤(重写方法)

    // 2.此处用于处理:传入图片名后返回对应的图片

    4.切换背景颜色:

    #01.在工具类中写一个类方法,用于判断处理回调颜色

    #02.控制器中接收,并展示颜色到labelView

     

     

    其中可能出现的bug:

    完事皆项目,感兴趣可联系我邮箱~hjjuny@163.com
  • 相关阅读:
    Java基础之:构造方法(构造器)与this关键字
    Java基础之:属性与局部变量作用域
    Java基础之:方法重载与可变参数
    Java基础之:成员方法与传参机制
    Java基础之:类与对象
    Java基础之:数组练习题
    Java基础之:二维数组
    Promise对象的简单用法
    如何用vue-cli初始化一个vue项目
    get和post请求的区别
  • 原文地址:https://www.cnblogs.com/hjjun/p/6128262.html
Copyright © 2020-2023  润新知