• ios换肤思想,及工具类


    // 实现原理及思路:不同种类的皮肤放在不同的文件夹下,用一个plist文件存放不同控制器下的控件的背景颜色

    //plist文件名称为控制器的名称,内部的数据字典的key value对自定义一个命名规则,容易读取即可

    //

     

    #import "MYScreenToll.h"

     

    @interface MYScreenToll ()

     

     

     

    @end

     

    //皮肤设置

    static NSString*_skin;

     

    @implementation MYScreenToll

     

    //类初始化加载的时候调用

    +(void)initialize

    {

        _skin=[[NSUserDefaults standardUserDefaults]objectForKey:@"skin1"];

        if (_skin==nil) {

            _skin=@"blue";

        }

    }

     

    //类方法

    +(void)saveSkin:(NSString*)skin

    {

        _skin=skin;

        //保存

        NSUserDefaults *user=[NSUserDefaults standardUserDefaults];

        [user setObject:skin forKey:@"skin1"];

        [user synchronize];

    }

     

    +(UIImage*)loadImage:(NSString*)imageName

    {

        NSString*pathName=[NSString stringWithFormat:@"skin/%@/%@",_skin,imageName];

        UIImage *image=[UIImage imageNamed:pathName];

        return image;

    }

     

    +(UIColor*)loadColor:(NSString*)key

    {

        //拼接路径

        NSString *plistName=[NSString stringWithFormat:@"skin/%@/color.plist",_skin];

        //读取plist文件

        NSString*str=[[NSBundle mainBundle]pathForResource:plistName ofType:nil];

        NSData *data=[NSData dataWithContentsOfFile:str];

        NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:data options:0 error:NULL];

        NSString*colorStr=[dict objectForKey:key];

        NSArray *rgb=[colorStr componentsSeparatedByString:@","];

        UIColor *col=[[UIColor alloc]initWithRed:[rgb[0] intValue]/255.0 green:[rgb[1] intValue]/255.0 blue:[rgb[2] intValue]/255.0 alpha:1];

        return col;

        

        

                             

    }

     

    @end

  • 相关阅读:
    关于firstChild,firstElementChild和children
    trim(),正则表达式中文匹配
    Shell之基本用法
    Samba服务部署
    Linux基础(3)
    linux基础(2)
    Linux基础(1)
    网络基础及网络协议
    操作系统简介
    为何要学习计算机基础
  • 原文地址:https://www.cnblogs.com/tangranyang/p/4655864.html
Copyright © 2020-2023  润新知