美文网首页
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