- ⬆️ Upgrade to Swift 5 and fix subsequent compiler warnings
v5.1.0November 14, 2018
🍱 Yay!!!! 🌳
- Autoplay video (PR #120).
- 👍 Allow color of video controls to be set (PR #116).
- 👌 Support for custom "See all" close buttons (PR #109).
- 🚚 Ability to remove an item (PR #101).
.always. (PR #99).
- 👉 Makes
- 🛠 Fixes builtin close button (PR #90, Issue #84).
- ➕ Adds
GalleryItem.customto support subclasses of
UIImageView(PR #80, Issue #56).
- ➕ Adds activity indicator (PR #86, Issue #69).
- 🛠 Fixes background overlay on top of modal view controller (PR #85, PR #87).
- 🛠 Fixes
launchedCompletionblock execution (PR #82).
- 📇 Renames
- 👉 Makes
- ➕ Adds
reload(atIndex:)to force reload image in gallery (PR #77, Issue #72).
- 🛠 Fixes image appearing after async loading (PR #76, Issue #59).
- ➕ Adds option to turn off decoration views toggle by single tap.
- ➕ Adds option to toggle swipe to dismiss horizontally.
- 🛠 Other bugfixes and improvements
👍 As it says on the tin. Swift 3 support is here \o/
ImageViewer 3.0 is our biggest release yet both in terms of codebase and feature evolution. We tackled the inevitable step - video playback. Video content is deliberately treated exactly the same way as images incl. pinch to zoom, doubleTap or swipe-to-dismiss.
We have completely redesigned the way content is displaced™ :) from the parent canvas to ImageViewer. Images and videos now seamlessly morph from aspectFill and other aspect-ratio-breaking modes to aspectFit FullScreen. A new built-in Thumbnails screen allows you to handle large sets of images and videos.
🔧 The number of configuration options has almost tripled. You can tweak every aspect of the complex displacement animation composition including speed & timing. Images with transparency are now equally supported. Main background layer allows for semitransparent color and blur.
Video support: Show videos in the gallery. Both locally stored file and streaming is supported via video URL.
Thumbnails screen: Modal screen to select any image or video immediately.
Composited background: Background is now composed from two layers - the blur and the color layer. Blur intensity, color and the level of transparency for both layers is handled separately.
Block-based image fetching: Now it's completely up to you to handle fetching the way you want... just pass a block that does it.
Rotation mode: Option to rotate now can be set to be app based or always.
Spring bouncing: Displacement can optionally include a spring bounce effect same as in the iOS Photos app.
Panorama support: Very wide panorama images will still be scaled to aspectFill after double tap to zoom, even if the resize would result in a scale that exceeds maximumZoomScale.
Displacement animation: Multiple options to customize the duration and positioning of the displacement animation.
Background: Customize the background colour, blur and transparency.
Gesture timing: You can now set the duration in seconds for double tap to zoom gesture, decoration views hide/show animation, rotation.
Custom buttons: Thumbnails and Close buttons can now be customised.
Maximum zoom scale: Set the maximum zoom scale for any image or video.
🍱 Thumbnails grid view 🖼
🍱 Transparency for the displaced view 🐛
👌 Improved handling of wide/tall images 🗼
🍱 Ability to customise background colour 🎨
👍 Built in views are now better managed so that KVO Observing is handled properly.
A close() method is now publicly available, in case there is a (rare?) need for closing programatically. A corresponding completion block is also available, and it is separate from standard (interactive) close completion block.
A nifty little improvement was made in the completion phase, there is now virtually no delay between the time T when animations visually stop and the time T+n when the gallery actually disappears from view hierarchy and the underlying controller canvas is available for touches.