To fix a crash "Layout.swift: Fatal error: Attempted to read an unowned reference but the object was already deallocated" which is reported at issue #440.
* Support over 3 states in LayoutAdapter
* Allow to inherite FloatingPanelState
* Support a custome FloatingPanelState in ObjC
* Replace Menu enum with UseCase enum in Samples.app
* Rename UIExtensions to Extensions
* Add CustomState use case in Samples app
This dismisses the frame 'FloatingPanel Core.move(from:to:animated:completion:)'
in the following memory leaks
> BoardServices -[BSXPCServiceConnectionEventHandler remoteTarget]
> BoardServices __63+[BSXPCServiceConnectionProxy createImplementationForProtocol:]_block_invoke
These leaks happens when a panel showes and hides using "Show Multi Panel Modal"
in the Samples app.
I applied `.defaultHigh` priority which might be safe to prevent
an ambiguous layout error. But that causes this issue, so I have to
use `.required` priority.
See more detail [#424
issue](https://github.com/SCENEE/FloatingPanel/issues/424).
* Prevent a possible memory leak at Core.move(from:to:animated:completion:)
* Replace ``self`` with `self`.
* Change `LayoutAdapter.vc` property to an unowned reference
* Prevent a crash at LayoutAdapter.surfaceLocation called in `NumericSpringAnimator.update` closure.
Added an optional variable `removalInteractionVelocityThreshold` to `Behavior`, which let’s the user configure the velocity threshold for the default `floatingPanel:shouldRemoveAt:with` implementation.
* Allow open access to FloatingPanelDefaultBehavior
* Move the default presenting & dismissing animators
* Add the public initializer of FloatingPanelDefaultBehavior
* Reset the moveAnimator prop after a move animation
If `moveAnimator` isn't null, `FloatingPanelPanGestureRecognizer.touchesBegan`
detects `began` state quickly so that it doesn’t allow to work a tap gesture or
tap action in a panel.
Resolve#392
* Add 2 buttons in DebugTableViewController
Because sometimes UIView.systemLayoutSizeFitting() returns a different
size between an onscreen and offscreen view which includes UIStackView.
This behavior depends on UIStackView behavior and the lib can not match
the difference.