- [NEW] Better RTL support on device locales that support RTL (further support will require a refactor using AutoLayout)
- [FIXED] KingfisherIntegration was out of date #55
- Requires Swift 5.0
- [FIXED] When captionView layout occurred more than once while animation was occurring, new captions would be applied mid animation
- Requires Swift 4.2
- [FIXED] Navbar would behave erratically during dismissal if changing the bar button items to anything other than the default
- [FIXED] Custom font size would be overwritten by AXCaptionView
- [FIXED] NSParagraphStyle alignment would have no effect on caption labels
- Requires Swift 4.1
- [NEW] Support for new network integration - Nuke. Required iOS/tvOS 9.0 or higher.
- [NEW] Support for UIContentMode on reference image views during transitions. The transition animator will adopt the content mode of the startingView and endingView.
- [NEW] Support for spring damping ratio in AXTransitionInfo. Control the springy-ness of your transitions by adjusting this value!
- [NEW] Supply a custom fade backdrop view if desired. This is defined on the AXTransitionInfo object and will be used during presentation/dismissal transitions. (#36 - thanks @ashitikov!)
- [FIXED] Safe area insets being automatically applied to the scrollView during image zoom.
- [FIXED] Network integrations will now always return on a background thread. This was a problem for synchronous cache fetches (memory) that were made on the main thread.
- [NEW] Delegate method:
photosViewController(_:overlayView:visibilityWillChange:)
in order to coordinate overlayView visiblity changes with other animations
- Revert to Swift 4.0
- Small changes to insets in AXCaptionView on tvOS
- Removes invalid initializer on AXTransitionInfo on tvOS
- [NEW] tvOS Support has been added
- [NEW] Swift 4.1 usage requires Xcode 9.3
- [NEW] All classes are now namespaced with 'AX' in order to be more subclass-friendly
- [NEW] Delegate methods:
photosViewControllerWillDismiss:
andphotosViewControllerDidDismiss:
, which are called for both interactive and non-interactive dismissals #29 - [NEW]
navigateToPhotoIndex(_:animated:)
to allow developers to navigate between photos programmatically - [FIXED] Localization is now much easier for the
internalTitle
property #31 - [FIXED] Example project crashes when loading local assets #25
- [CHANGED] The library now depends on Cocoapods a lot less, opening up the possibility for Carthage support
- [FIXED] 'CaptionView' sometimes improperly sizing its labels
- [FIXED]
OverlayView
insets changing on PhotosVC dismissal - [FIXED]
OverlayView
insets could potentially be wrong if a layout was occurring at the same time as a interface show/hide - [FIXED]
LoadingView
could potentially be sized incorrectly on iPhone X - [FIXED] Bad GIF performance
- [FIXED]
OverlayView
insets changing while interface was animating out (iOS 11)
- [FIXED]
LoadingView
custom loading indicator improperly sized
- [FIXED]
LoadingView
retry attributes are the same on iOS 10 & prior - [FIXED] Stackable container will size itself to zero height if there are no subviews
- [FIXED] Updating
OverlayView
title text attributes will update the title immediately
- [FIXED]
OverlayView
bar button items were not spaced correctly by default - [FIXED]
StackableViewContainer
was not playing well with animations due to an earlier work aroudn that was made for CaptionView animations, but that is now fixed; as a result, subviews are now laid out at the time of their container's layout
- iOS 11 support, Swift 4 migration & support
- iOS 8 support
- [NEW] Introduce
StackableViewContainer
, a useful class that will stack self-sizing views on an anchor point. This is used to add custom views anchored at the top and bottom of the OverlayView. OverlayView.topStackContainer, OverlayView.bottomStackContainer can be used to display custom views (button bars, any extra self-sizing views) to the user without a hacky subclass. - [NEW] Adopt iOS 11
safeAreaInsets
for iPhone X support. - [REMOVED]
CaptionViewDelegate
- [FIXED]
PhotosViewController
initialization would not allow forOverlayView
manipulation until the view was loaded.
- [FIXED]
AXLoadingView
subclass would fetch the incorrect asset bundle when searching for default error assets - [NEW]
AXPhotosViewController
now supports being embedded in a fullscreen container and upholding its responsibility as aUIViewControllerTransitioningDelegate
- [FIXED] #12 (alexhillc#12), an issue related to lifecycle methods not behaving as expected
- Adds
.swift-version
- [NEW]
AXLoadingView
extensibility, including text customization and image customization for error views - [NEW]
AXLoadingView
call-to-action retry button - [NEW]
AXLoadingView
default loading error image - [FIXED]
TransitionInfo
endingView resolution could be non-nil after returning nil from the resolution block
- [NEW] Exposes
currentPhotoIndex
andcurrentPhotoViewController
on thePhotosViewController
(contrib: @justindhill)
- Identical to v1.2.5, contains a documentation fix.
- [NEW] Subclassability of PhotosViewControllerDelegate methods (contrib: @justindhill)
- [NEW] Animation flag for CaptionView -
PhotosViewController.overlayView.animateCaptionViewChanges
- [FIXED] public -> open for overridable variables
- [CHANGED] Initialize
PhotosViewController
fromPreviewingPhotosViewController
withPhotosViewController(from:)
- [REMOVED] Coder initializers
- [FIXED] Build error that was causing AXPhotoViewer/Core to fail spec lint
- [NEW] More natural flick-to-dismiss behavior, enabling dismissals from strictly swipe velocity as well as dismissal percentage
- [NEW]
PreviewingPhotosViewController
: a view controller designed to display an imageView via 3d-touch, see the README for usage details - [FIXED] Missing convenience inits in Obj-C land
- [FIXED] Retain cycle in
SimpleNetworkIntegration
- Issue #4
- [NEW] Supports presenting with any
modalPresentationStyle
(previously onlyUIModalPresentationStyleFullScreen
) - Issue #3
- [CHANGED] Presentation animation style - no longer oscillates, faster
- [NEW] Delegation methods:
-photosViewController:willUpdateOverlayView:forPhoto:atIndex:totalNumberOfPhotos:
and-photosViewController:maximumZoomScaleForPhoto:minimumZoomScale:imageSize:
- [FIXED] Interactive dismissal without an image will now respond appropriately when an image loads in.
- [CHANGED] Previously, the
PhotosViewController
would only release images/GIF data contained in photos if prompted by-didReceiveMemoryWarning
. Now, thePhotosViewController
will release photos as they transition out of scope of the currently viewed photos. This will help immensely with the memory management of large photo galleries
- [NEW] Allow
PhotosViewController
to be initialized without a dataSource - end goal is to allow for a situation where the content that the dataSource needs is not retrieved yet, but still being able to present an empty photo viewer
- [FIXED] Transition cancellation duration - now linear
- [FIXED]
AXCaptionView
height animation only beginning after caption label text has been changed - [FIXED] Overlay content inset when status bar is expanded (in-call, location)