Skip to content

Releases: scenee/FloatingPanel

v1.6.1: Support SwiftPM on Xcode11!

29 Jun 00:27
Compare
Choose a tag to compare

Improvements

Bugfixes

  • Fix the crash while closeing via dragging #216
  • Fix closing panel during internal scroll view bounce #218
  • Remove workaround for tableView(_:didSelectRowAt:) issue #225
  • Fix an unexpected layout update in the background on iOS13 #228

Thank you to @robbiet480 for your SwiftPM support!
Thank you to @cozzin, @heltisace and @Isuru-Nanayakkara for your issues and cooperations!

v1.6.0: Enhanced FloatingPanelSurfaceView

03 Jun 13:23
Compare
Choose a tag to compare

New features

FloatingPanelSurface

Add new excellent APIs by @nderkach and @SvenTiigi to make the layout flexible

  • Customize the grabber layout
+ public var grabberTopPadding: CGFloat
+ public var grabberHandleWidth: CGFloat
+ public var grabberHandleHeight: CGFloat
  • Customize the container top inset.
+ public var containerTopInset: CGFloat
  • Customize a content layout from the container.
+ public var contentInsets: UIEdgeInsets

FloatingPanelBehavior

  • Add rubber band effect for top and bottom edge
+ func allowsRubberBanding(for edge: UIRectEdge) -> Bool

Changes

FloatingPanelSurface

  • Replace some properties as a constant stored property
-    public var grabberHandle: GrabberHandleView!
+    public let grabberHandle: GrabberHandleView = GrabberHandleView()
-    public var containerView: UIView!
+    public let containerView: UIView = UIView()
  • Modify containerView.layer.masksToBounds behavior on cornerRadius changed. See here more detail.

Improvements

  • Add some unit tests on iOS 10, 11 and 12 in CI.

Bugfixes

  • Calling FloatingPanel.move(to:animated:completion:) locks scroll view #198
  • Weird crashes happen when FloatingPanel was updated from v1.4.1 to 1.5.x #206
  • A UIVisualEffectView in a content VC isn't working on iOS10

Thank you to @nderkach and @SvenTiigi for your proposal and PR!
Thank you to @mattt, @Isuru-Nanayakkara and @mergesort for your helpful issues and cooperations!

v1.5.1

26 Apr 04:43
Compare
Choose a tag to compare

This release includes some improvements and bug fixes✨ 🎉 ✨

Improvements

  • Allow subclassing FloatingPanelController #173
  • Add a sample code for panels in PageViewController #172
  • Rename backgroudView with containerView in FloatingPanelSurfaceView
- public var backgroundView: UIView!
+ public var containerView: UIView!
  • Remove obsolete SWIFT_WHOLE_MODULE_OPTIMIZATION setting from FloatingPanel.podspec
  • Fix typo

Bugfixes

  • Fix the mask bounds of the surface view #190
  • Fix touch cancelling on first tap after a moving animation #164

Thank you to @zntfdr for your improvements!
Thank you to @xysverma, @GerdC, @peterstojanowski, @RpX974, @congmn and @ThangTruong921 for your helpful issue reports and cooperations!

v1.5.0: Support Swift 5.0

06 Apr 01:54
Compare
Choose a tag to compare

Now FloatingPanel supports Swift 5.0. 🎉✨✨ #177
See also README > Requirements 👍

All examples are upgraded to Swift 5.0, but the default Swift version of the library leaves Swift 4.0 because it avoids build errors with Carthage on each Xcode version from the source compatibility between Swift 4.0, 4.2 and 5.0. (All of Xcode 9.4.1+ support Swift 4.0)

With regard to CocoaPods, for now, a user needs to override SWIFT_VERSION appropriately in Podfile. But after CocoaPods v1.7.0, the pod spec is going to support swift_versions key and then you won't need it.

v1.4.1

04 Apr 00:42
Compare
Choose a tag to compare

This release includes many improvements and bug fixes✨ 🎉 ✨

Improvements

  • Remove swapping scroll delegate #128
  • Allow to use .hidden position as an initial one #150
var initialPosition: FloatingPanelPosition {
    return .hidden
}
  • Open FloatingPanelSurfaceView.backgroundView #169
-  private var backgroundView: UIView!
+  public var backgroundView: UIView!
  • Adds support for respecting initial safeAreaInsets. #155
  • Notify retain cycle #110

Bugfixes

  • Fix retain cycle in FloatingPanel #158
  • Fix interruption #159
  • Fix UI Extension #165
  • Fix scroll fitting #180
  • Fix typo #162
  • Fix Jump while dragged up or down #154
  • Fix half mode panel is dragged to the top of the screen #167

Thank you to @trispo, @bryansum, @zntfdr for your improvements and bugfixes!
Thank you to @djdance, @muukii , @vovkaprigarin, @andreaslindahl, @musa-almatri for your helpful issue reports and cooperations!

v1.4.0

27 Feb 01:09
Compare
Choose a tag to compare

This release includes some new features and improvements to enhance the panel interaction ✨ 🎉 ✨

Now you can..

  • Change a panel's width with AutoLayout in moving it(See Samples.app -> Show Tab Bar -> Tab 3). Because a panel frame is always changed using Auto Layout. It will be able to let you configure more flexible layout of a moving panel with FloatingPanelLayout improvement in the future.
  • Stop beginning a panel dragging by floatingPanelShouldBeginDragging delegate method
  • Jump over a half position by interaction(i.e. from tip to full and vise versa) using FloatingPanelBehavior.shouldProjectMomentum(_:for:)
  • Configure a panel layout using FloatingPanelFullScreenLayout without bothering about SafeArea stuffs.

New Features

FloatingPanelControllerDelegate

Add floatingPanelShouldBeginDragging(_:). You can stop to begin dragging on the conditions. It's useful to handle other pan gestures or touches simultaneously with a floating panel.

+ public func floatingPanelShouldBeginDragging(_:)

FloatingPanelBehavior

Add 2 methods to configure the momentum projection

+ func shouldProjectMomentum(_ fpc: FloatingPanelController, for proposedTargetPosition: FloatingPanelPosition) -> Bool`
+ func momentumProjectionRate(_ fpc: FloatingPanelController) -> CGFloat

FloatingPanelFullScreenLayout

You can configure all insets of the surface from the superview(FloatingPanelController.view), not from the safe area.

Improvements

FloatingPanelController

Enable to cancel the scroll view tracking

- public func track(scrollView: UIScrollView) {
+ public func track(scrollView: UIScrollView?) {

Core

  • Move the surface view by a top layout constraint, not by modifying the frame directly.
  • Normalize the projected position
  • Modify disabling the bottom constraint on top overflow.
  • Revamp Scroll draw-down interaction by a tracking scroll view. It becomes more smooth

Layout/Behavior

  • Open the default layout/behavior

Samples

  • Add a sample of the advanced layout animation

Bugfixes

  • Fix #133: FloatingPanel can be dragged outside safe area (with new logic)

v1.3.5

23 Feb 02:18
Compare
Choose a tag to compare

This release has major bugfixes and improvements for the panel interaction 👍
This is going to be last release for v1.3.x. v1.4.0 will be released soon to support sparking-joy features requested in issues.

Improvements

  • Don't block tap/long press gestures(Always recognize them in parallel)
  • Stop interrupting a content offset of a tracking scroll view at the end of an interaction

Bugfixes

  • Fix the wrong layout update in iOS10
  • Fix a buggy scroll offset of a tracking scroll view
  • Fix the animation interruption (Now a user can use an interruptive animation safely)
  • Fix backdrop handling on an animation interrupt
  • Fix dragging outside safe area #133

v1.3.4

14 Feb 00:45
Compare
Choose a tag to compare

This release has some bugfixes
Thanks to @modestman and @g00m contributions 👍

Bugfixes

  • Fix issue with jumping floating panel while dragging #126
  • Fix typo

v1.3.3

02 Feb 03:20
Compare
Choose a tag to compare

This release has some bugfixes💪
Thanks to @mergesort, @datwelk, @lohenyumnam contributions 🥇

Bugfixes

  • Expand the surface mask's height #123 to prevent cutting off a content #112
  • Fix the presentation modally when fpc is reused #122
  • Restore original scroll view delegate when updating content VC #114 @datwelk

Experimental feature

  • FloatingPanelFullScreenLayout
    • Display a surface view with a full inset from the superview.

v1.3.2

18 Jan 00:31
Compare
Choose a tag to compare

This release includes some bugfixes💪
Thanks to @mergesort, @Pivovar63, @fmessina, @CedricGatay contributions 🥇

New API

  • Add FloatingPanelController.init(delegate:)

Improvements

  • Support Swift 4.1 & Xcode 9.4

Bugfixes

  • Fix the modal presentation #92
  • Fix the event handling on presentation modally #99
  • Fix a crash on tap dismissal with a second touch #100
  • fix(delegateIgnored): Allow to set delegate on init #105
  • Fix unsatisfiable constraints error for safe area bottom on full state