美文网首页
iOS小知识 -- 换肤的基本实现

iOS小知识 -- 换肤的基本实现

作者: 这个姑凉儿 | 来源:发表于2017-11-25 11:53 被阅读0次

    一.换肤的介绍

    • 目前某些应用程序会有换肤功能(例如QQ、网易云音乐)
    • 换肤主要切换的是:背景图片/背景颜色

    二.切换背景图片

    • 界面的搭建
      • 添加用户可以选择皮肤颜色的按钮
      • 添加用户显示背景的UIImageView对象
    • 当前用户点击对应的按钮时,显示对应的背景图片
      • 抽取方法,传入皮肤颜色即可
    • 默认进来没有皮肤颜色
    • 记录用户选中的皮肤颜色
    • 图片发生改变时,如何应对?
    • 多个控制器实现换肤功能
      • 抽取换肤的工具类
      • 换肤工具类对外提供返回UIImage对象的方法
        • 传入图片的名字,返回对应的UIImage对象
      • 换肤工具类可以记录当前皮肤的颜色
      • 将默认皮肤和记录皮肤颜色的代码封装到工具类中

    三.切换背景颜色

    • 换肤的颜色需要记录下来
      • 只有记录下来后才能读取对应的颜色,显示对应的颜色
      • 通过plist文件记录颜色RGB
    • 工具类对外提供获取颜色的方法

    提示:不要把换肤的代码放到viewDidLoad里面,因为控制器是懒加载的
    一旦加载上就不会重新加载
    所以viewDidLoad只会走一次,在切换了皮肤,后面的页面并不会变化所以要放在viewWillAppear,因为每次都会加载,假如这个控制器是push进来的那放在viewDidLoad也可以实现换肤效果,因为push进来的控制器在pop回去的时候回自动销毁,这样每次进来都是重新加载的,都会走viewDidLoad

    此篇只提供思路,具体的实现和调用可以参考demo demo下载地址

    相关文章

      网友评论

          本文标题:iOS小知识 -- 换肤的基本实现

          本文链接:https://www.haomeiwen.com/subject/euhfbxtx.html