UITableView+Night.m 2.5 KB
//
//  UITableView+Night.m
//  UITableView+Night
//
//  Copyright (c) 2015 Draveness. All rights reserved.
//
//  These files are generated by ruby script, if you want to modify code
//  in this file, you are supposed to update the ruby code, run it and
//  test it. And finally open a pull request.

#import "UITableView+Night.h"
#import "DKNightVersionManager.h"
#import <objc/runtime.h>

@interface UITableView ()

@property (nonatomic, strong) NSMutableDictionary<NSString *, DKColorPicker> *pickers;

@end

@implementation UITableView (Night)


- (DKColorPicker)dk_separatorColorPicker {
    return objc_getAssociatedObject(self, @selector(dk_separatorColorPicker));
}

- (void)dk_setSeparatorColorPicker:(DKColorPicker)picker {
    objc_setAssociatedObject(self, @selector(dk_separatorColorPicker), picker, OBJC_ASSOCIATION_COPY_NONATOMIC);
    self.separatorColor = picker(self.dk_manager.themeVersion);
    [self.pickers setValue:[picker copy] forKey:@"setSeparatorColor:"];
}

- (DKColorPicker)dk_sectionIndexColorPicker {
    return objc_getAssociatedObject(self, @selector(dk_sectionIndexColorPicker));
}

- (void)dk_setSectionIndexColorPicker:(DKColorPicker)picker {
    objc_setAssociatedObject(self, @selector(dk_sectionIndexColorPicker), picker, OBJC_ASSOCIATION_COPY_NONATOMIC);
    self.sectionIndexColor = picker(self.dk_manager.themeVersion);
    [self.pickers setValue:[picker copy] forKey:@"setSectionIndexColor:"];
}

- (DKColorPicker)dk_sectionIndexBackgroundColorPicker {
    return objc_getAssociatedObject(self, @selector(dk_sectionIndexBackgroundColorPicker));
}

- (void)dk_setSectionIndexBackgroundColorPicker:(DKColorPicker)picker {
    objc_setAssociatedObject(self, @selector(dk_sectionIndexBackgroundColorPicker), picker, OBJC_ASSOCIATION_COPY_NONATOMIC);
    self.sectionIndexBackgroundColor = picker(self.dk_manager.themeVersion);
    [self.pickers setValue:[picker copy] forKey:@"setSectionIndexBackgroundColor:"];
}

- (DKColorPicker)dk_sectionIndexTrackingBackgroundColorPicker {
    return objc_getAssociatedObject(self, @selector(dk_sectionIndexTrackingBackgroundColorPicker));
}

- (void)dk_setSectionIndexTrackingBackgroundColorPicker:(DKColorPicker)picker {
    objc_setAssociatedObject(self, @selector(dk_sectionIndexTrackingBackgroundColorPicker), picker, OBJC_ASSOCIATION_COPY_NONATOMIC);
    self.sectionIndexTrackingBackgroundColor = picker(self.dk_manager.themeVersion);
    [self.pickers setValue:[picker copy] forKey:@"setSectionIndexTrackingBackgroundColor:"];
}


@end