Optik provides a simple viewing experience for a set of images, whether stored locally or remotely.
- iOS 9.0+
- Xcode 8.1 or later
Optik is available through CocoaPods. To install it, simply add the following line to your Podfile
:
pod "Optik"
Optik can be used to display images stored either locally or remotely.
Local images can be displayed by creating an image viewer with an array of images:
let imageViewer = Optik.imageViewer(
withImages: [
UIImage(named: "image1.jpg")!,
UIImage(named: "image2.jpg")!,
UIImage(named: "image3.jpg")!
]
)
presentViewController(imageViewer, animated: true, completion: nil)
For remote images, an array of NSURLs
should be provided - as well as an object conforming to the ImageDownloader
protocol:
let imageDownloader = MyImageDownloader()
let imageViewer = Optik.imageViewer(
withURLs: [
NSURL(string: "https://somewebsite.com/image1.png")!,
NSURL(string: "https://somewebsite.com/image2.png")!,
NSURL(string: "https://somewebsite.com/image3.png")!
],
imageDownloader: imageDownloader
)
presentViewController(imageViewer, animated: true, completion: nil)
The dismiss button image and position can be customized.
To indicate a custom dismiss button image, provide a dismissButtonImage
parameter when creating an image viewer:
let imageViewer = Optik.imageViewer(
withImages: [
UIImage(named: "image1.jpg")!
],
dismissButtonImage: UIImage(named: "MyDismissButton")
)
To indicate a position for the dismiss button, provide a dismissButtonPosition
let imageViewer = Optik.imageViewer(
withImages: [
UIImage(named: "image1.jpg")!
],
dismissButtonImage: UIImage(named: "MyDismissButton"),
dismissButtonPosition: .TopTrailing
)
When fetching remote images, an activity indicator is displayed while images are loaded. To indicate a custom activity indicator color, provide an activityIndicatorColor:
parameter when creating an image viewer:
let imageViewer = Optik.imageViewer(
withURLs: [
NSURL(string: "https://somewebsite.com/image1.png")!
],
imageDownloader: imageDownloader,
activityIndicatorColor: UIColor.redColor()
)
To report a bug or enhancement request, feel free to file an issue under the respective heading.
If you wish to contribute to the project, fork this repo and submit a pull request. Code contributions should follow the standards specified in the Prolific Swift Style Guide.
Copyright (c) 2017 Prolific Interactive
Marker is maintained and sponsored by Prolific Interactive. It may be redistributed under the terms specified in the LICENSE file.