你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS 仿支付寶支付屏幕亮度變化機制

IOS 仿支付寶支付屏幕亮度變化機制

編輯:IOS開發綜合

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 仿支付寶支付屏幕亮度變化機制,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對本站網站的支持!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved