iOS调节屏幕亮度的方法

这是我的简书第一篇。一直在想要不要把这个发出来,因为这个问题的解决方法开始是学习HJaycee - 简书的一篇文章iOS仿支付宝二维码页逐步调整屏幕亮度 - 简书。我只是在他的基础上多添加了一个方法而已,在这里发表出来,就当是记录一下这个知识点。

我添加了方法:快速恢复之前亮度的方法

+ (void)fastResumeBrightness{

    if (!_queue) {

        _queue = [[NSOperationQueue alloc] init];

        _queue.maxConcurrentOperationCount = 1;

    }

    [_queue cancelAllOperations];

    [_queue addOperationWithBlock:^{

        [UIScreen mainScreen].brightness = _currentBrightness;

    }];

}

然后去掉了

+ (void)initialize{

    //系统通知:手机亮度改变时发送的通知

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

//    [self saveDefaultBrightness];

}

保存手机之前的亮度我是在进入二维码页面时保存,没有根据亮度的变化而实时保存。

//保存亮度

[JCBrightness saveDefaultBrightness]; 

二维码页面添加 程序变成激活状态 程序将失去激活状态 这两个通知

具体方法为:

#pragma mark --添加通知

-(void)addNSNotification{


//    UIKIT_EXTERN NSString *const UIApplicationDidBecomeActiveNotification;    //程序变成激活状态

//    UIKIT_EXTERN NSString *const UIApplicationWillResignActiveNotification;    //程序将失去激活状态


    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(DidBecomeActive) name:UIApplicationDidBecomeActiveNotification object:nil];

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(willResignActive) name:UIApplicationWillResignActiveNotification object:nil];


}

//成为激活状态,调高亮度

-(void)DidBecomeActive{

    [JCBrightness graduallySetBrightness:0.8];

}

//失去激活状态,快速恢复之前的亮度

-(void)willResignActive{

    [JCBrightness fastResumeBrightness];

}

加了这两个通知后,自动调节屏幕亮度就比较完美了。

下面为代码链接地址:GitHub - leon-zhangxb/brightnessGradientDemo: iOS仿支付宝二维码页面调节屏幕亮度

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

推荐阅读更多精彩内容