The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Bump minimum supported version to iOS 13.0 to fix archiving issue on Xcode
- Fix invalid exclude path warning https://github.com/amirdew/CollectionViewPagingLayout/pull/61
- Use Equatable to refresh cells in SwiftUI https://github.com/amirdew/CollectionViewPagingLayout/issues/55#issuecomment-962602730
- Fix reloading data issue in SwiftUI
- Set `transparentAttributeWhenCellNotLoaded` to false by default and add a SwiftUI modifier for that
- Fix a bug in animation completion closure, Use `NSKeyValueObservation` on `contentOffset` instead of `CATransaction.setCompletionBlock`
- Fix an issue for `selection` not being updated if data gets reload
SwiftUI Support
2 years ago
**New features:**
- Add SwiftUI support
- `ZPosition` can be handled via `CALayer` or layout attribute or both, see `CollectionViewPagingLayout.zPositionHandler`
- `ViewAnimator`: You can set the animation duration or implement your custom animator.
- You can use the predefined layout options using an enum. for instance, `ScaleTransformViewOptions.Layout.coverFlow`
- `SnapshotTransformView.canReuse(snapshot:)` You can define when the existing snapshots invalidate.
**Changes:**
- By default, `zIndex` will apply to the attribute and the CALayer, you can change it using `CollectionViewPagingLayout.zPositionHandler`
- `configureTapOnCollectionView` and `didSelectItemAt` methods removed. You can use the built-in collectionview delegate instead!
- Fix a problem: a page blinks before the transform effects apply on it, to fix it the attributes have alpha=0 by default before the cell is loaded. You can change it by setting "transparentAttributeWhenCellNotLoaded" to `false`
- An bounds observer added for the collection view so, you don't need to call `"invalidateLayout"` on `"viewDidLayoutSubviews"`
- If you are on page 1 and call `setCurrentPage(4)`. the delegate method only gets called for page 4. previously, it was 2,3 and 4
- `ScaleTransformView.blurHost` renamed to `ScaleTransformView.scaleBlurHost`
- `StackTransformView.blurHost` renamed to `StackTransformView.stackBlurHost`
- `SnapshotTransformView.identifier` renamed to `SnapshotTransformView.snapshotIdentifier`
- Change default implementation of `snapshotIdentifier` to consider `contentOffset` of a possible scrollview inside a page
- Drop support for iOS 8 (SPM)
- Bump Swift version to 5.4 (Cocoapods)
- Breaking change: use `minTranslateRatios` and `maxTranslateRatios` instead of `minTranslates` and `maxTranslates` for `ScaleTransformView`, it helps us to use the library on different screen sizes without changing the options, `translateRatio` is also works differently:
```swift
translateX = progress * translates.x * targetView.width
translateY = progress * translates.y * targetView.height
translateZ = progress * translates.z * targetView.width
// same for min and max
```
- Layout designer code generator completed
- Fix setCurrentPage related issues
- Introduce new iPad/Mac(Catalyst) app for designing layouts
- New delegate function `func collectionViewPagingLayout(_ layout: CollectionViewPagingLayout, didSelectItemAt indexPath: IndexPath)` for using this `func configureTapOnCollectionView(goToSelectedPage: Bool = false)` needs to be called after assigning layout to the collection view - will be added to the ReadMe
- Fix not change current page on animated page change
- Fix zero sections
- Fix updating `currentPage`