You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.7 KiB
76 lines
2.7 KiB
// |
|
// KJBannerTool.h |
|
// KJBannerViewDemo |
|
// |
|
// Created by 杨科军 on 2019/7/30. |
|
// Copyright © 2019 杨科军. All rights reserved. |
|
// |
|
|
|
#import <Foundation/Foundation.h> |
|
#import <UIKit/UIKit.h> |
|
|
|
NS_ASSUME_NONNULL_BEGIN |
|
#define KJBannerLoadImages [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/KJLoadImages"]; |
|
typedef NS_ENUM(NSInteger, KJBannerImageType) { |
|
KJBannerImageTypeUnknown = 0, /// 未知 |
|
KJBannerImageTypeJpeg = 1, /// jpg |
|
KJBannerImageTypePng = 2, /// png |
|
KJBannerImageTypeGif = 3, /// gif |
|
KJBannerImageTypeTiff = 4, /// tiff |
|
KJBannerImageTypeWebp = 5, /// webp |
|
}; |
|
/// 图片的几种类型 |
|
typedef NS_ENUM(NSInteger, KJBannerImageInfoType) { |
|
KJBannerImageInfoTypeLocality, /// 本地图片 |
|
KJBannerImageInfoTypeNetIamge, /// 网络图片 |
|
KJBannerImageInfoTypeGIFImage, /// 网络GIF图片 |
|
}; |
|
/// 滚动方法 |
|
typedef NS_ENUM(NSInteger, KJBannerViewRollDirectionType) { |
|
KJBannerViewRollDirectionTypeRightToLeft = 0, /// 默认,从右往左 |
|
KJBannerViewRollDirectionTypeLeftToRight, /// 从左往右 |
|
}; |
|
/// 图片的几种类型 |
|
typedef NS_ENUM(NSInteger, KJBannerViewImageType) { |
|
KJBannerViewImageTypeMix = 0, /// 混合,本地图片、网络图片、网络GIF |
|
KJBannerViewImageTypeGIFAndNet,/// 网络GIF图片和网络图片混合 |
|
KJBannerViewImageTypeLocality, /// 本地图片 |
|
KJBannerViewImageTypeNetIamge, /// 网络图片 |
|
KJBannerViewImageTypeGIFImage, /// 网络GIF图片 |
|
}; |
|
@interface KJBannerDatasInfo : NSObject |
|
@property (nonatomic,strong) NSString *imageUrl; |
|
@property (nonatomic,assign) KJBannerImageInfoType type; |
|
@property (nonatomic,strong) UIImage *image; |
|
@property (nonatomic,assign) NSInteger superType; |
|
@end |
|
|
|
@interface KJBannerTool : NSObject |
|
/// 存放数据 |
|
@property(nonatomic,strong) NSArray *imageTemps; |
|
/// 单例 |
|
+ (instancetype)sharedInstance; |
|
/// 判断该字符串是不是有效的URL |
|
+ (BOOL)kj_bannerValidUrl:(NSString*)url; |
|
/// 根据图片名判断是否是GIF图 |
|
+ (BOOL)kj_bannerIsGifImageWithImageName:(NSString*)imageName; |
|
/// 根据图片URL判断是否是GIF图 |
|
+ (BOOL)kj_bannerIsGifWithURL:(id)url; |
|
/// 根据image的data判断图片类型 |
|
+ (KJBannerImageType)contentTypeWithImageData:(NSData*)data; |
|
/// 判断是网络图片还是本地 |
|
+ (BOOL)kj_bannerImageWithImageUrl:(NSString*)imageUrl; |
|
/// 播放网络GIF |
|
+ (NSTimeInterval)kj_bannerPlayGifWithImageView:(UIImageView*)imageView URL:(id)url; |
|
// 获取网络GIF图 |
|
+ (UIImage*)kj_bannerGetImageWithURL:(id)url; |
|
/// 保存gif在本地 |
|
//+ (void)kj_bannerSaveWithImage:(UIImage*)image URL:(id)url; |
|
/// 从 File 当中获取Gif文件 |
|
//+ (UIImage*)kj_bannerGetImageInFileWithURL:(id)url; |
|
/// md5加密 |
|
+ (NSString*)kj_bannerMD5WithString:(NSString*)string; |
|
|
|
@end |
|
|
|
NS_ASSUME_NONNULL_END
|
|
|