关于夜间模式

由于夜间模式是控制一个全局的方法,所以需要用NSUserDefaults来实现.

NSUserDefaults是一个单例,在整个程序中只有一个实例对象,他可以用于数据的永久保存,而且简单实用,这是它可以让数据自由传递的一个前提,也是大家喜欢用它保存简单数据的一个主要原因。

1. 我们需要创建一个类方法(+方法)

+(BOOL)nowIsNight{

//创建NSUserDefaults.

       NSUserDefaults *isNight = [NSUserDefaults standardUserDefaults];

给NSUserDefaults设置一个键值对

       BOOL result = [isNight boolForKey:@"isNight"];

判断bool值

        if (result) {

             return YES;

         } else{

             return NO;

       }

返回bool值

}


创建一个可以改变NSUserDefaults中的键值对的类方法

+(void)changisNight{

判断当前NSUserDefaults的值

if (NO == [self nowIsNight]) {

如果NSUserDefaults的值是NO, 取反 设置为YES;

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"isNight"];

NSLog(@"夜间模式");

}

else{

[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"isNight"];

}

}

接下来写两个方法, 设置夜间模式时背景和字体的颜色(可以自己随意设置)


+(UIColor *)nightColor{

UIColor *color = [UIColor colorWithRed:26 / 255.0 green:26 / 255.0 blue:26 /255.0 alpha:1.0];

return color;

}

+(UIColor *)textNightColor{

UIColor *color = [UIColor colorWithRed:130 / 255.0 green:120 / 255.0 blue:130 /255.0 alpha:1.0];

return color;

}

例: 

当夜间模式时

self.view.backgroundColor = [IsNight nightColor];

_label.textColor = [IsNight textNightColor];

----------------------------------------------------

方法:

只要在你需要改变的地方做一下判断[IsNight nowIsNight];

如果是YES开启夜间模式, 否则正常模式

-----------------------------------------------------


以上为一个简单的夜间模式的使用方法.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa阅读 1,144评论 1 6
  • 前言: 以下内容是作者在实际开发中所总结的,主要列举了一些实用小技巧,也希望在实际开发中能够帮到你。 设置控件的圆...
    暗香有独阅读 1,399评论 6 33
  • 又是噩梦。 江白琦看着床头的闹钟,坐了起来。 5:18。 江白琦无奈的又躺了下去,无比清醒的到了天亮。 “小琦啊,...
    沈清欢dada阅读 4,308评论 0 3
  • 《暗恋》 也曾在清晨的路上, 将你慢慢拾起, 你路过的痕迹。 也曾在深夜的梦里, 将你轻轻掂量, 你遗留的分量。 ...
    娄君潇阅读 325评论 0 4
  • 这里讲述的是荟玩家签约航海大咖汉桑船长的那些不为人知的秘密。。。 ----- 第一季(7) ----- 临近吉隆坡...
    荟玩家阅读 1,820评论 0 1