UIImage+BDPAppearance.h 2.49 KB
//
//  UIImage+BDPAppearance.h
//  BDPAppearancer
//
//  Created by hulinling on 2019/7/25.
//  Copyright © 2019 baidu. All rights reserved.
//

#import <UIKit/UIKit.h>

/// 获取指定图片名的图片,若获取不到,则会获取默认主题下的图片
#define BDPAppearanceImage(name)  [UIImage bdpappearance_imageNamed:name]
/// 获取指定图片名的图片,然后将此图片设置透明度(透明度大于0 小于1 且是0.05的倍数,遵守无极平台的规范); 若获取不到,则会获取默认主题下的图片
#define BDPAppearanceImageAlpha(name, alpha)  [UIImage bdpappearance_imageNamed:name imageAlpha:alpha]

/// 获取指定主题下对应图片名的图片,若获取不到,则返回 nil
#define BDPAppearanceImageMode(image, mode)  [UIImage bdpappearance_imageNamed:image themeMode:mode]

@interface UIImage (BDPAppearance)

/// 主题图片(该值会随着主题变化而变化;若当前图片是通过指定主题的方法生成的,则该值不会随着主题变化而变化)
@property (nonatomic, readonly) UIImage *bdp_appearanceImage;

/// 图片名
@property (nonatomic, readonly) NSString *bdp_imageName;

/// 根据图片名获取当前主题下的图片,若获取不到,则会获取默认主题下的图片(建议使用:BDPAppearanceImage(image))
/// @note 会优先去当前APP的xcassets里获取对应的图片,若没有获取到,则会到指定主题目录下获取对应主题下的对应图片
/// @param imageName 图片名
+ (UIImage *)bdpappearance_imageNamed:(NSString *)imageName;

/// 根据图片名称获取当前主题下的图片,然后将此图片设置透明度(透明度大于0 小于1 且是0.05的倍数,遵守无极平台的规范)若获取不到,则会获取默认主题下的图片(建议使用:BDPAppearanceImageAlpha(name,alpha))
/// @param imageName 图片名称
/// @param imageAlpha 图片透明度
+ (UIImage *)bdpappearance_imageNamed:(NSString *)imageName imageAlpha:(CGFloat)imageAlpha;

/// 根据图片名获取指定主题下的图片,若获取不到,则会返回 nil(建议使用:BDPAppearanceImageMode(image, mode))
/// @note 通过此方法获取的图片,将不会随主题变化而变化;会优先去当前APP的xcassets里获取对应的图片,若没有获取到,则会到指定主题目录下获取对应主题下的对应图片
/// @param imageName 图片名
/// @param themeMode 指定主题
+ (UIImage *)bdpappearance_imageNamed:(NSString *)imageName themeMode:(NSString *)themeMode;

@end