//
//  UIImageView+KBWebImage.h
//  keyBoard
//
//  在 SDWebImage 基础上的便捷封装：
//  - 统一默认 options（失败重试、后台续传、降采样等）
//  - 支持按视图大小缩略解码，减少内存占用
//  - 常用形状：普通、圆角、头像圆形
//  - 支持占位图、渐隐动画、取消下载
//

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface UIImageView (KBWebImage)

/// 简单加载（默认 options，自动渐隐）
- (void)kb_setImageURL:(nullable id)url placeholder:(nullable UIImage *)placeholder;

/// 自定义 options
- (void)kb_setImageURL:(nullable id)url
           placeholder:(nullable UIImage *)placeholder
               options:(NSUInteger)options;

/// 按视图大小缩略解码（推荐：内存友好）。若视图尚未布局，可传入 `targetSize` 期望像素尺寸（点×scale）。
- (void)kb_setImageURL:(nullable id)url
           placeholder:(nullable UIImage *)placeholder
        thumbnailToFit:(BOOL)thumbnailToFit
            targetSize:(CGSize)targetPixelSize;

/// 圆角图（在解码阶段裁圆角，避免离屏开销）
- (void)kb_setImageURL:(nullable id)url
           placeholder:(nullable UIImage *)placeholder
         cornerRadius:(CGFloat)radius
               corners:(UIRectCorner)corners
           borderWidth:(CGFloat)borderWidth
           borderColor:(nullable UIColor *)borderColor;

/// 头像：自动按最短边裁成圆形（若视图尚未布局，会使用当前 bounds 估算）
- (void)kb_setAvatarURL:(nullable id)url placeholder:(nullable UIImage *)placeholder;

/// 取消当前图的下载
- (void)kb_cancelImageLoad;

@end

NS_ASSUME_NONNULL_END

