UIImage extensions to use PDF files.
Using UIImagePlusPDF
you can avoid a lot png
images files (1x, 2x, 3x sizes) and simply replace each of them with only one pdf
file.
pod 'UIImagePlusPDF'
import UIImagePlusPDF
Simple example:
let imageView = UIImageView()
let image = UIImage.pdfImage(with: "imageName")
imageView.image = image
Other options
//with custom width
UIImage.pdfImage(with: "imageName", width: 350)
//with custom height
UIImage.pdfImage(with: "imageName", height: 350)
//with custom size
UIImage.pdfImage(with: "imageName", size: CGSize(width: 300, height: 400))
//with page number
UIImage.pdfImage(with: "multipage pdf file", width: 300, pageNumber: 2)
//same options with resource url
UIImage.pdfImage(with: URL(string: "path"))
Memory cache:
//using NSCache
//default is true
UIImage.pdfCacheInMemory = true
Disk cache:
//default is false
UIImage.pdfCacheOnDisk = true
Cache deleting:
//all cache
UIImage.removeAllPDFCache()
//all memory cache
UIImage.removeAllPDFMemoryCache()
//all disk cache
UIImage.removeAllPDFDiskCache()
//memory cached pdf with name
UIImage.removeMemoryCachedPDFImage(
with: "pdf name",
size: imageSize,
pageNumber: 1 /*optional, default is 1*/
)
//memory cached pdf with url
UIImage.removeMemoryCachedPDFImage(
with: URL(string: "path"),
size: imageSize,
pageNumber: 1 /*optional, default is 1*/
)
//disk cached pdf with name
UIImage.removeDiskCachedPDFImage(
with: "pdf name",
size: imageSize,
pageNumber: 1 /*optional, default is 1*/
)
//disk cached pdf with url
UIImage.removeDiskCachedPDFImage(
with: URL(string: "path"),
size: imageSize,
pageNumber: 1 /*optional, default is 1*/
)
UIImagePlusPDF is under MIT license. See the LICENSE file for more info.