您好,欢迎来到花图问答。
搜索
您的当前位置:首页iOS调节屏幕亮度的方法

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];

}

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

ps:贴代码块花费了好长时间,```……```,<code>……</code>都试过了不行,突然发现B下面有个“ (引用),才搞好了的。

Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务