支付宝付款页面调整屏幕亮度

方法很简单:

            [UIScreen mainScreen].brightness = 0-1(屏幕亮度范围);
但是对眼睛伤害不利;采用逐渐变亮的方法:


//

//  ScreenBrightness.h

//  Jump

//

//  Created by peter.zhang on 2017/4/24.

//  Copyright © 2017年 redstar. All rights reserved.

//

 

#import <Foundation/Foundation.h>

 

@interface ScreenBrightness : NSObject

- (void)graduallyResumeBrightness:(CGFloat)brightness;

@end

 




//

//  ScreenBrightness.m

//  Jump

//

//  Created by peter.zhang on 2017/4/24.

//  Copyright © 2017年 redstar. All rights reserved.

//

 

#import "ScreenBrightness.h"

 

@interface ScreenBrightness()

 

@property (nonatomic, strong)NSOperationQueue *queue;

 

@property (nonatomic, assign)CGFloat currentBrightness;

 

@end

 

@implementation ScreenBrightness

 

- (instancetype)init{

    self = [super init];

    if (self) {

        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(saveDefaultBrightness) name:UIScreenBrightnessDidChangeNotification object:nil];

        [self saveDefaultBrightness];

 

    }

    return self;

}

 

- (void)graduallySetBrightness:(CGFloat)value{

    if (!_queue) {

        _queue = [[NSOperationQueue alloc] init];

        _queue.maxConcurrentOperationCount = 1;

    }

    [_queue cancelAllOperations];

    

    CGFloat brightness = [UIScreen mainScreen].brightness;

    CGFloat step = 0.005 * ((value > brightness) ? 1 : -1);

    int times = fabs((value - brightness) / 0.005);

    for (CGFloat i = 1; i < times + 1; i++) {

        [_queue addOperationWithBlock:^{

            [NSThread sleepForTimeInterval:1 / 180.0];

            [UIScreen mainScreen].brightness = brightness + i * step;

        }];

    }

}

 

- (void)saveDefaultBrightness{

    _currentBrightness = [UIScreen mainScreen].brightness;

}

 

 

- (void)graduallyResumeBrightness:(CGFloat)brightness{

    [self graduallySetBrightness:brightness];

}

 

@end

 


 

posted @ 2017-04-24 16:27  PeterWolf  阅读(2225)  评论(0编辑  收藏  举报