ASCScreenBrightnessDetector 1.0.0

ASCScreenBrightnessDetector 1.0.0

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最新发布2014年12月

未申请 维护。




ASCScreenBrightnessDetector 允许您轻松检测屏幕亮度变化,并提供一些有用的代理方法。

例如,您很容易在针对不同照明条件优化的日间和夜间主题之间切换

ASCScreenBrightnessDetector Demo

使用方法

此仓库包含一个示例项目,该项目使用了 ASCScreenBrightnessDetector 提供的方法 - 只需构建和运行即可看到效果。

请注意:屏幕亮度检测只能在真实设备上工作,Xcode 模拟器的屏幕亮度始终为 0.5。

您想在哪里使用 ASCScreenBrightnessDetector,请按照以下方式导入头文件

#import "ASCScreenBrightnessDetector.h"

或在使用 CocoaPods 时

#import <ASCScreenBrightnessDetector/ASCScreenBrightnessDetector.h>

要检测当前屏幕亮度和样式,您可以使用以下内容

ASCScreenBrightnessDetector *brightnessDetector = [ASCScreenBrightnessDetector new];

NSLog(@"Screen brightness: %f", brightnessDetector.screenBrightness);

ASCScreenBrightnessStyle style = brightnessDetector.screenBrightnessStyle;
switch (style) {
    case ASCScreenBrightnessStyleDark:
        // Do something, e.g. set a dark theme.
        break;
    case ASCScreenBrightnessStyleLight:
        // Do something else, e.g set a light theme.
        break;
}

要连续检测屏幕亮度变化,请将 ASCScreenBrightnessDetector 实现为实例变量,设置代理并使用以下代理方法

- (void)screenBrightnessDidChange:(CGFloat)brightness
{
    NSLog(@"The new brightness is: %f", brightness);
}

- (void)screenBrightnessStyleDidChange:(ASCScreenBrightnessStyle)style
{
    NSLog(@"The new style is: %u", style);
}

属性

充当代理的对象。

id<ASCScreenBrightnessDetectorDelegate> delegate;

屏幕亮度级别介于 0.0 和 1.0 之间,包括。(只读)

CGFloat screenBrightness;

样式表示屏幕亮度是暗的还是亮的,这取决于定义的阈值。(只读)

ASCScreenBrightnessStyle screenBrightnessStyle;

阈值确定亮度样式是亮还是暗。它必须具有介于 0.0 和 1.0 之间的值,包括。默认值为 0.5。

 CGFloat threshold;

代理方法

当屏幕亮度更改时告诉代理,并返回一个介于 0.0 和 1.0 之间的 float 值,包括。

- (void)screenBrightnessDidChange:(CGFloat)brightness;

当屏幕亮度样式更改时告诉代理,并返回一个 ASCScreenBrightnessStyle 枚举。

- (void)screenBrightnessStyleDidChange:(ASCScreenBrightnessStyle)style;

安装

手动

ASCScreenBrightnessDetector.hASCScreenBrightnessDetector.m 源文件拖放到您的项目中,您就完成了。

作者

André Schneider,@aschndr

许可证

ASCScreenBrightnessDetector 可在 MIT 许可证下使用。有关更多信息,请参阅 LICENSE 文件。