From 841618e241f0d8af243f5919e7fe1289f27b5915 Mon Sep 17 00:00:00 2001 From: Songwen Ding Date: Sun, 12 Jun 2016 15:44:26 +0800 Subject: [PATCH 1/2] add clean cache method --- UIImage+PDF/UIImage+PDF.h | 3 +++ UIImage+PDF/UIImage+PDF.m | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/UIImage+PDF/UIImage+PDF.h b/UIImage+PDF/UIImage+PDF.h index 7904420..0de261c 100755 --- a/UIImage+PDF/UIImage+PDF.h +++ b/UIImage+PDF/UIImage+PDF.h @@ -17,6 +17,9 @@ +(void)setShouldCacheOnDisk:(BOOL)shouldCache; // Default = YES +(void)setShouldCacheInMemory:(BOOL)shouldCache; // Default = NO ++(void)cleanDiskCache; ++(void)cleanMemoryCache; + +(UIImage *) imageOrPDFNamed:(NSString *)resourceName; +(UIImage *) imageOrPDFWithContentsOfFile:(NSString *)path; diff --git a/UIImage+PDF/UIImage+PDF.m b/UIImage+PDF/UIImage+PDF.m index e934715..ac5dbcb 100755 --- a/UIImage+PDF/UIImage+PDF.m +++ b/UIImage+PDF/UIImage+PDF.m @@ -118,6 +118,15 @@ +(NSString *)cacheFilenameForURL:(NSURL *)resourceURL atSize:(CGSize)size atScal return cacheFilename; } ++(void)cleanDiskCache { + NSString *cachesDirectory = [ NSSearchPathForDirectoriesInDomains( NSCachesDirectory, NSUserDomainMask, YES ) objectAtIndex:0 ]; + NSString *cacheDirectory = [ NSString stringWithFormat:@"%@/__PDF_CACHE__", cachesDirectory ]; + [[NSFileManager defaultManager] removeItemAtPath:cacheDirectory error:NULL]; +} + ++(void)cleanMemoryCache { + [_imagesCache removeAllObjects]; +} #pragma mark - Resource name From c330fc471e599be7fa6a90166be047507c13c9e3 Mon Sep 17 00:00:00 2001 From: Songwen Ding Date: Mon, 13 Jun 2016 19:39:39 +0800 Subject: [PATCH 2/2] support custom bundle --- UIImage+PDF/PDFView.h | 1 + UIImage+PDF/PDFView.m | 13 +++++++++++++ UIImage+PDF/UIImage+PDF.h | 1 + UIImage+PDF/UIImage+PDF.m | 5 +++++ 4 files changed, 20 insertions(+) diff --git a/UIImage+PDF/PDFView.h b/UIImage+PDF/PDFView.h index ec6019c..e98606c 100755 --- a/UIImage+PDF/PDFView.h +++ b/UIImage+PDF/PDFView.h @@ -23,6 +23,7 @@ +(CGRect) mediaRectForData:(NSData *)data atPage:(NSUInteger)page; +(NSUInteger) pageCountForURL:(NSURL *)resourceURL; +(NSURL *)resourceURLForName:(NSString *)resourceName; ++(NSURL *)resourceURLForName:(NSString *)resourceName formBundle:(NSBundle *)bundle; +(void)renderIntoContext:(CGContextRef)ctx url:(NSURL *)resourceURL data:(NSData *)resourceData size:(CGSize)size page:(NSUInteger)page preserveAspectRatio:(BOOL)preserveAspectRatio; @end diff --git a/UIImage+PDF/PDFView.m b/UIImage+PDF/PDFView.m index c66d03f..aa5138a 100755 --- a/UIImage+PDF/PDFView.m +++ b/UIImage+PDF/PDFView.m @@ -145,6 +145,19 @@ +(NSURL *)resourceURLForName:(NSString *)resourceName } } ++(NSURL *)resourceURLForName:(NSString *)resourceName formBundle:(NSBundle *)bundle +{ + NSString *path = [bundle pathForResource:resourceName ofType:nil ]; + if( path == nil ) + { + return nil; + } + else + { + return ( resourceName ) ? [ NSURL fileURLWithPath:path] : nil; + } +} + +(void)renderIntoContext:(CGContextRef)ctx url:(NSURL *)resourceURL data:(NSData *)resourceData size:(CGSize)size page:(NSUInteger)page preserveAspectRatio:(BOOL)preserveAspectRatio { diff --git a/UIImage+PDF/UIImage+PDF.h b/UIImage+PDF/UIImage+PDF.h index 0de261c..8d1d320 100755 --- a/UIImage+PDF/UIImage+PDF.h +++ b/UIImage+PDF/UIImage+PDF.h @@ -35,6 +35,7 @@ +(UIImage *) imageWithPDFNamed:(NSString *)resourceName fitSize:(CGSize)size atPage:(NSUInteger)page; +(UIImage *) imageWithPDFNamed:(NSString *)resourceName fitSize:(CGSize)size; ++(UIImage *) imageWithPDFNamed:(NSString *)resourceName formBundle:(NSBundle *)bundle fitSize:(CGSize)size +(UIImage *) originalSizeImageWithPDFNamed:(NSString *)resourceName atPage:(NSUInteger)page; +(UIImage *) originalSizeImageWithPDFNamed:(NSString *)resourceName; diff --git a/UIImage+PDF/UIImage+PDF.m b/UIImage+PDF/UIImage+PDF.m index ac5dbcb..1a233db 100755 --- a/UIImage+PDF/UIImage+PDF.m +++ b/UIImage+PDF/UIImage+PDF.m @@ -170,6 +170,11 @@ +(UIImage *) imageWithPDFNamed:(NSString *)resourceName fitSize:(CGSize)size return [ self imageWithPDFURL:[ PDFView resourceURLForName:resourceName] fitSize:size ]; } ++(UIImage *) imageWithPDFNamed:(NSString *)resourceName formBundle:(NSBundle *)bundle fitSize:(CGSize)size +{ + return [ self imageWithPDFURL:[ PDFView resourceURLForName:resourceName formBundle:bundle] fitSize:size ]; +} + +(UIImage *) originalSizeImageWithPDFNamed:(NSString *)resourceName atPage:(NSUInteger)page { return [ self originalSizeImageWithPDFURL:[ PDFView resourceURLForName:resourceName ] atPage:page ];