- Removed unneeded layout calculation. (#485)
- Incorrect accessibility label for the 'Reset' button. (#487)
- Improved Japanese localization. (#502)
- Fixed an API typo in the Swift interface. (#504)
- Fixed incorrect comment formatting producing HTML errors. (#507)
- Extremely basic support for Mac Catalyst, with an accompanying sample app. (#464)
- Switched to using system SF Symbol icons on iOS 13.0 and up. (#455)
doneButtonColor
andcancelButtonColor
properties to control the color of the main call-to-action buttons in the toolbar. (#436)showOnlyIcons
property to disable showing the "Cancel" and "Done" text labels. (#438)commitCurrentCrop()
method to programmatically simulate tapping the 'Done' button. (#441)- Added Catalan localization. (#449)
- Fixed an issue where visible snapping would occur during the presentation animation on iPad models with rounded corners. (#461)
- Improved logic for detecting whether the controller needs to be popped or dismissed from its current presentation context. (#443)
- Fixed a CocoaPods installation issue where warnings would be displayed about importing the header references needed for SPM support. (#445)
- Added provisions for later versions of SPM no longer supporting iOS 8. (#448)
- Added
allowedAspectRatios
property to Swift layer. (#453)
- Added back in resource support for SPM on Xcode 12. (#466)
- Fixed a potential performance slow-down by replacing a custom mask, with standard
CALAyer
rounded corners for circular crops. (#462) - Rewrote how rotated regions of an image are extracted to not rely on Core Animation hackery. (#463)
- Duplicate header build warnings when installing via CocoaPods. (#432)
- SPM Support. (#413)
- The ability to explicitly show and hide the 'Cancel' and 'Done' buttons in the toolbar. (#392)
- A memory crash caused by improper
self
usage in delegates between multiple instances of the Swift crop view controller. (#409)
- Brazilian Portuguese Language Support (#380)
- A visual glitch that would occur in iOS 13 because the Swift view controller wasn't explicitly marked as full screen. (#385)
- A visual glitch where the image would snap upwards during the presentation animation on non-Face ID devices. (#387)
- A bug where subclassing the class in Swift would fail because it wasn't using the desginated initializer. (#379)
- Finnish Language Support (#360)
- Improved the UX of the cancellation dialog by changing the buttons from affirmative actions to explicit actions. (#362)
- A crash that would occur if the cancellation confirmation dialog was attempted to be displayed on iPad. (#362)
- Swift 5.0 Support (#343)
- Persian Language Support (#337)
- Added
customAspectRatioName
property to expose the custom aspect ratio as a selectable choice (#344)
- Made delegate in
CropViewController
weak. (#338)
- Swift 4.2 Support
- Romanian and Hungarian localizations.
- The ability to show only certain aspect ratios.
- A setting to allow confirmation before cancelling a crop.
- Fixed layout issue on the new iPad Pro
- Fixed issues with the aspect ratio settings when zooming out.
- Fixed an issue when rotating images would sometimes break.
- A bug where the completion handler of the cropping operation wouldn't fire.
- iOS 7 Support
- Image does not invert when 'Smart Invert Colors' is enabled.
- A Core Animation crash when the image size is initially NaN.
- The image being positioned slightly higher than it should be on iPhone X.
- An imprecision issue where the reported cropping frame was out of bounds.
minimumAspectRatio
to set a minimum shape that the cropping box can be scaled to.cropViewPadding
to specifically control how much padding from the edge the crop box gives.cropAdjustingDelay
to specifically control how long the timer waits until animating the crop transition.aspectRatioLockDimensionSwapEnabled
as a stopgap to locking the aspect ratio when rotating the image.
- More thorough sanitation of the final frame calculation.
- A bug where sometimes the square aspect ratio would stop being square.
- A memory cycle leak in the Swift wrapper.
- A broken animation when rotating the device orientation 180 degrees.
- A broken animation if you hit 'reset' right after resizing the crop box.
- Danish and Malaysian localisations weren't being imported properly.
aspectRatioLockDimensionSwapEnabled
to enable or disable the crop view controller aspect ratio dimensions to swap when the aspect ratio is locked.
- Moved all Objective-C code into
CropViewController
framework to avoid needing importingTOCropViewController
framework.
- Size calculation for one of the tool bar buttons was incorrect.
- Optimized toolbar layout code to be more efficient.
- Title label was being clipped by the sensour housing on iPhone X.
- Init methods in
CropViewController
weren't public. - Simplified the handling of making rotation buttons visible and hidden.
- Tool bar icon misalignment error on iOS 10 and below.
- A bug where restoring a previous crop state with a different angle than 0 and then rotating the image would result in a distorted image.
- Fixed a broken animation where restoring from a cropped image would animate higher than it needed on iPhone X.
- A Swift wrapper library named
CropViewController
. - Proper handling for when swiping near the Control Center and Notification Center edges on iOS 11.
- An animation distortion that occurred when restoring from a previous crop view frame.
- A crash that occurred when restoring to a rotated image.
- A bug where rotating images on iPhone X in landscape would result in images incorrectly being positioned.
- Support for iPhone X.
- Fixed missing semicolons in iOS 7 code brace.
- Fixed minor issue with certain
nullable
properties being marked asnonnull
. - Made the clockwise rotation button visible by default.
- Broken rotation animations in iOS 11.
- Incorrect inset of crop content when status bar is visible.
- General cleanup of the codebase
- Added a CHANGELOG. (Yay!)
TOCropViewController.title
property will display a title label above the crop view box.- Added more thorough checks to ensure both all delegate and completion block handlers execute in the right order.
- Fixed scroll view insets to work properly with new iOS 11 assumptions.
- Fixed crop box frame resizing to properly clamp when it touches an outer boundary.