设计夜间模式的思路

2016-09-29  本文已影响130人  随风飘荡的小逗逼

方法一(适用于设置图片):

1、准备两套图片文件(不同模式使用不同的图片),可以通过在图片名称后面加上标识来区分不同模式应该使用的图片。

2、给UIImage添加一个类别,类别中写一个给UIImage加载图片的方法(方法实现步骤如下:)

第一步:从偏好设置中取出不同模式对应的值

NSString *mode = [[NSUserDefaultsstandardUserDefaults]stringForKey:@"Mode"];

第二步:用mode拼接一个新的图片名

第三步:用新的名字创建一个UIImage对象。

方法二(适用于设置字体、颜色):

1、创建一个plist文件,文件中为每个模式创建对应的key,key的值是字典,字典中存储每个控件对应的颜色值,以及对应的字体大小等字段。

2、为UIColor和UIFont创建类别,类别中写一个便利构造方法,用于初始化对象(方法实现步骤如下:)

第一步:从偏好设置中取出当前的浏览模式。

NSString *mode = [[NSUserDefaultsstandardUserDefaults]stringForKey:@"Mode"];

第二步:加载plist文件,根据从偏好设置中取出的值,和当前传入的颜色值key从字典中取出对应的颜色值。

第三步:返回对应的对象。

方法三(既适用于更换图片又适用于设置颜色,以及改变字体的大小):

1、在沙盒中创建文件夹,在文件夹中为每个模式分别创建子文件夹,子文件夹中存放着需要用到的图片(注意:每个子文件夹中的图片“名字”必须都是一样的,只是图片不一样而已)并添加一个用于设置颜色,以及字体大小的plist文件。

2、给需要设置模式的控件添加类别,在类别中写一个便利构造方法,用于初始化对象(方法实现步骤如下:)

第一步:从偏好设置中取出当前的模式

第二步:用取出的字符串,拼接一个新的图片路径

第三步:返回实例对象

注意:因为要试试修改模式,所以需要在通知中心注册一个通知,让需要更改的每个控制器都监听这个通知,当发出通知的时候做出相应的操作。

上一篇下一篇

猜你喜欢

热点阅读