1.首先,在需求完成的界面viewDidLoad中先保管亮度沒有變化之前的亮度,由於這個界面消逝之後還要變回原來的亮度,變化亮度也相當於用戶的一種設置,所以也要保管一下這個形態,由於之後當APP在active和非active切換時分需求知道能否需求為用戶做這個功用
// 保管原來的亮度 [[NSUserDefaults standardUserDefaults] setObject:@([UIScreen mainScreen].brightness) forKey:@"brightness"]; // 保管形態,需求為用戶變化屏幕亮度功用 [[NSUserDefaults standardUserDefaults] setObject:@YES forKey:@"ifNeedChangeLight"];
2.在viewDidAppear中設置需求的亮度
- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; if ([UIScreen mainScreen].brightness < 0.8) { [UIScreen mainScreen].brightness = 0.8; } }
3.同理viewDidDisappear
- (void):(BOOL)animated { [super viewDidDisappear:animated]; // 復原 [UIScreen mainScreen].brightness = [[[NSUserDefaults standardUserDefaults] objectForKey:@"brightness"] floatValue]; [[NSUserDefaults standardUserDefaults] setObject:@NO forKey:@"ifNeedChangeLight"]; }
4.當從底部滑起操作欄和加入app到主界面需求停止恢復和設置相應操作
- (void)applicationWillResignActive:(UIApplication *)application { if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"ifNeedChangeLight"] boolValue]) { [UIScreen mainScreen].brightness = [[[NSUserDefaults standardUserDefaults] objectForKey:@"brightness"] floatValue]; } } - (void)applicationDidBecomeActive:(UIApplication *)application { if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"ifNeedChangeLight"] boolValue]) { if ([UIScreen mainScreen].brightness < 0.8) { // 顏色需求突變的話需求另外再寫 [UIScreen mainScreen].brightness = 0.8; } } }
5.假如需求亮度突變效果網上有完成的函數,設置亮度直接調函數就可以了
以上所述是本站給大家引見的IOS 仿領取寶領取屏幕亮度變化機制,希望對大家有所協助,假如大家有任何疑問請給我留言,本站會及時回復大家的。在此也十分感激大家對本站網站的支持!
【IOS 仿領取寶領取屏幕亮度變化機制】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!