美文网首页
iOS换肤 避免遇见坑

iOS换肤 避免遇见坑

作者: CoderLJW | 来源:发表于2018-11-27 12:14 被阅读12次

    重复造车没有必要了,这里推荐一个GitHub上面很是不错的案例

    https://github.com/SlashDevelopers/SDTheme    //星数70左右
    

    里面还是有些坑可能会遇见,这里写出来避免大家花费不必要的时间

    1、创建需要的bundle文件。这里bundle文件需要用到当前项目中和以后利用下载到app沙盒中放到NSDocumentDirectory根目录下或者指定的放置主题目录下。这里有需要注意的地方

    a、创建bundle。选中项目TAGRETS下的目录


    image.png

    b、因为ios中没有Bundle这个选项,需要到macOS这里选择。但还需要设置一些ios这里才可以用


    image.png
    image.png
    c、项目中需要用到创建的theme则需要引用进来
    image.png
    image.png

    2、添加到这里项目已经可以使用了。但是在theme的文件夹下面只有创建的时候的Info.plist文件,这里需要去添加其他文件以供使用

    a、添加plist文件存放主题需要用到的颜色。选择创建的theme文件夹---》鼠标右键,选中New File--》ios类目下的Property List文件


    image.png

    b、再创建放置图片的文件Images.xcassets。选择创建的theme文件夹---》鼠标右键,选中New File--》ios类目下的Asset Catalog


    image.png
    最后创建好的文件如下
    image.png

    3、整合主题

    a、如果是已经开发好的项目,则需要创建一个默认的主题,原先的存放Assets.xcassets资源的有些文件需要放到这个默认的主题上了,哪些需要替换的就放到默认的主题就行。具体文件怎么写我这里有个Demo大家可以下载了去看看,在这里就不细说了。
    接下来需要用到遇见节日更换主题,这里使用下载到沙盒文件中,需要用到了加载这个文件就行。文件的生成如下


    image.png

    选择Products下面的需要下载用到的主题,右键Show in Finder拿到需要用到的文件放到下载路径就行


    image.png
    image.png
    显示了包内容如下,不用管文件中Assets.car文件,直接把theme.bundle文件直接放到项目中测试就行了
    image.png

    4、项目测试遇见的问题,我这里项目使用的是自定义的TabBarButton继承的是UIControl。在使用theme_image或者其他的时候,出现了底部栏有重影查看了因为是分类针对的是UITabBarItem而我用的是自定义的,目前还没有解决这个问题,还请大家注意点。

    这里把项目放到了GitHub大家可以下载看下

    https://github.com/CoderLJW/JJY_SDTheme
    

    相关文章

      网友评论

          本文标题:iOS换肤 避免遇见坑

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