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.
77 lines
2.7 KiB
77 lines
2.7 KiB
![]()
2 years ago
|
//
|
||
|
// 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
|