JXL日夜间模式 1.0.0

JXL日夜间模式 1.0.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新发布2015年11月

Eiwodetianna 维护。



  • 作者:
  • Eiwodetianna

JXLDayAndNightModeDemo/夜间模式

使用示例非常简单,在项目中引入主头文件

#import "JXLDayAndNightMode.h"

在需要设置夜间模式的控件中调用UIView类中的设置方法,在block回调中设置该视图的对应状态。

// 设置日间和夜间两种状态
[self.view jxl_setDayMode:^(UIView *view) {
    // 设置日间模式状态
    // view为当前设置的视图
    view.backgroundColor = [UIColor whiteColor];
} nightMode:^(UIView *view) {
    // view为当前设置的视图
    // 设置夜间模式状态
    view.backgroundColor = [UIColor blackColor];
}];

在设置中也可以设置其子视图状态

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(100, 100, 100, 100);
[button setTitle:@"touch" forState:UIControlStateNormal];
[button jxl_setDayMode:^(UIView *view) {

    UIButton *setButton = (UIButton *)view;
    setButton.backgroundColor = [UIColor blackColor];
    [setButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];

} nightMode:^(UIView *view) {

    UIButton *setButton = (UIButton *)view;
    setButton.backgroundColor = [UIColor whiteColor];
    [setButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

}];
[button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];

可以通过JXLDayAndNightManager单例的contentMode属性获取当前的模式

[[JXLDayAndNightManager shareManager] contentMode];

contentMode枚举类型

typedef enum : NSUInteger {
    JXLDayAndNightModeDay, // 日间模式
    JXLDayAndNightModeNight, // 夜间模式
} JXLDayAndNightMode;   

开启日间模式或夜间模式都会对相关设置进行本地存储记录,程序默认为日间模式

[[JXLDayAndNightManager shareManager] nightMode]; //开启夜间模式
[[JXLDayAndNightManager shareManager] dayMode]; // 开启日间模式

可以使用通知中心自定义监听改变模式事件

extern NSString *const JXLChangeModeNotification; // 模式改变的监听事件名称