關于夜間模式

由于夜間模式是控制一個全局的方法,所以需要用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