Shin Yamamoto
d217c3ad2b
Rename heightConstraint to staticConstraint
2020-07-11 09:48:25 +09:00
Shin Yamamoto
0f678d20fe
Support multiple shadows in the surface appearance
2020-07-11 09:48:25 +09:00
Shin Yamamoto
102c9b3019
Fix the height break after rotating a device twice in static mode
2020-07-11 09:48:25 +09:00
Shin Yamamoto
fd4e6fea61
Add UISpringTimingParameters(decelerationRate:frequencyResponse:initialVelocity:)
2020-07-11 09:48:25 +09:00
Shin Yamamoto
54570ac7c6
Fix updating the container height when the content mode is changed
...
This change is necessary to fix a layout break when the contentMode is
changed after laying out a floating panel.
For example, the following patch lets the bug reproduce in Maps.app.
```
diff --git a/Examples/Maps/Maps/ViewController.swift b/Examples/Maps/Maps/ViewController.swift
index c5f25f1..b71c313 100644
--- a/Examples/Maps/Maps/ViewController.swift
+++ b/Examples/Maps/Maps/ViewController.swift
@@ -14,7 +14,6 @@ class ViewController: UIViewController, MKMapViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
- fpc.contentMode = .fitToBounds
fpc.delegate = fpcDelegate
// Set a content view controller
@@ -33,6 +32,7 @@ class ViewController: UIViewController, MKMapViewDelegate {
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
+ fpc.contentMode = .fitToBounds
// Must be here
searchVC.searchBar.delegate = self
```
2020-07-11 09:48:25 +09:00
Shin Yamamoto
38359e25ad
v2.0
...
* Core
* Support bottom/left/right positioned panel.
* Replace FloatingPanelPosition with FloatingPanelState
* Redefine FloatingPanelPosition
* Fix pan interaction of the intrinsic layout
* Allow to modify a target position
* Fix floating point problem
* Use UIScrollView.adjustedContentInset by default
* Add shouldDecelerate(to:)
* Rename contentOrigin to contentOffsetForPinning
* Improve initialLocation
* Introduce numeric springing
* Support moving a panel with numeric springing
* Update FloatingPanelBehavior
* Remove {top,Bottom}InteractionBuffer from FloatingPanelLayout
* Remove the move animator to be same as UIScrollView behavior
* Add floatingPanelDidMove(_:) tests in calling move(to:animated:)
* Update FloatingPanelControllerDelegate
* Move {add,remove}PanelAnimator delegation
* Add FloatingPanelBehaviorAdapter
* Modify access to `behavior` prop
* Update FloatingPanelLayout
* Support bottom/left/right positioned panel.
* Add anchoredPosition property
* Introduce FloatingLayoutAnchor & FloatingPanelIntrinsicLayoutAnchor
* Add FloatingPanelReferenceEdge
* Rename FloatingPanelDefaultLayout to FloatingPanelBottomLayout
* Update FloatingPanelLayoutAdapter
* Add LayoutAdapter.sortedDirectionalPositions
* Reimplement positionY(for:)
* Add edge{most,least}state
* Add orderedStates
* Add edge{Most,Least} properties in LayoutAdapter
* Modify `bottomOverflow` value and rename it to `containerOverflow`
* Modify access to `layout` prop
* Add FloatingPanelLayoutAnchoring/LayoutAnchor/IntrinsicLayoutAnchor
* Add FloatingPanel{Intrinsic}LayoutAnchor tests
* Update FloatingPanelController
* Add surfaceLocation
* update addPanelToParent API
* Update layout reloading logic
* Rename updateLayout() to invalidateLayout()
* Fix contentViewController access level
* Update FloatingPanelControllerDelegate
* Add floatingPanelDidEndDragging(_ vc:willDecelerate:)
* Update floatingPanelWillBeginDecelerating delegate method
* Remove behavior delegate method
* Reimplement the removal action
* Use floatingPanel(_:shouldRemoveAt:with:) delegate
* Update SurfaceView
* Support bottom/left/right positioned panel.
* Add FloatingPanelSurfaceAppearance
* Add SurfaceView.intrinsicContentSize
* Rename FloatingPanelSurfaceView.add(contentView:)
* GrabberHandle for bottom edge grabber
* Rename GrabberHandleView to FloatingPanelGrabberView
* Rename containerMargin & contentInsets to content{Margins,Padding}
* Rename bottomOverflow to containerOverflow
* ObjC Support
* Add @objc to FloatingPanelControllerDelegate
* Add @objc to FloatingPanelController
* Use @objc protocol FloatingPanelBehavior
* Redefine FloatingPanelState for objc.
* Update Utils
* Modify logger prefix
* Update extensions for left/right positions
* Update unit tests
* Update layout tests
* Add test_surfaceView_{contentView,containerView}
* Add test_positionY_top2bottom()
* Add test_moveTo_bottomEdge()
* Update test_warningRetainCycle()
* Fix FloatingPanelControllerTests
* Fix LayoutTests
* Fix FloatingPanelStateTests
* Fix FloatingPanelTest
2020-07-11 09:48:25 +09:00
Shin Yamamoto
2cf63838ae
Drop preserveContentVCLayoutIfNeeded()
2020-07-11 09:48:25 +09:00
Shin Yamamoto
49e8545aec
Rename trackedScrollView to trackingSrollView
2020-07-11 09:48:25 +09:00
Shin Yamamoto
b34ea2444d
Disable dismissal action of the backdrop by default
...
fix #341
2020-07-11 09:48:25 +09:00
Shin Yamamoto
984d4c41d8
Replace 'precondition' to 'assert'
2020-07-11 09:48:25 +09:00
Shin Yamamoto
8d372452b4
Remove 'unavailable' annotations
2020-07-11 09:48:25 +09:00
Shin Yamamoto
2fc16bb1f4
Upgrade swift version to 5.0
2020-07-11 09:48:25 +09:00
Leko Murphy
8903e4e610
don't remove panel on view disappearance ( #367 )
2020-07-11 09:46:41 +09:00
Shin Yamamoto
5634de2eee
Merge pull request #371 from knchst/modify/readme
...
Modify README.md sample code.
2020-07-11 09:42:16 +09:00
Kenichi Saito
1957ae3919
Modify README
2020-07-09 19:59:20 +09:00
Shin Yamamoto
a4f8c0528c
Merge pull request #356 from SCENEE/release-1.7.5
...
Release 1.7.5
2020-06-04 08:30:31 +09:00
Shin Yamamoto
e4548b26bd
Release 1.7.5
v1.7.5
2020-06-03 22:33:02 +09:00
Shin Yamamoto
d540b1ddde
Fix the panel behavior in a sheet modal ( #358 )
...
* Add "Show Panel in Sheet Modal" sample
* Fix the behavior in a sheet modal
2020-06-03 22:31:30 +09:00
Shin Yamamoto
aaeb752911
No need to recognize both of the pan gesture and dismiss gesuter of sheet modal
2020-05-30 10:11:12 +09:00
Grigory
966caad519
Fix the constraints break on fitToBounds mode ( #359 )
2020-05-30 09:44:58 +09:00
Shin Yamamoto
a62c3a23dc
Fix some view controllers in Samples.app for a sheet modal
2020-05-23 09:07:01 +09:00
Shin Yamamoto
7bbc3d5910
fix the behavior in a sheet modal
2020-05-23 08:12:01 +09:00
Shin Yamamoto
e2afb1e22f
Add "Show Panel in Sheet Modal" sample
2020-05-23 08:11:30 +09:00
Shin Yamamoto
8cca1178fd
fix {top,bottom} constant's boundary in updating panel interactively ( #352 )
...
Because {top,bottom}Y can be {less,more} than the SafeArea/Superview bounds,
if a minus value is set to the inset for {top,bottom} most position.
2020-05-21 08:59:52 +09:00
Shin Yamamoto
a09a0e9e32
fix the animation velocity's sign ( #354 )
...
Using a directional distance to calculate an animation velocity fixes an
issue where a panel's animation was wrong when a user swipes up a panel
at the top most position.
2020-05-16 09:18:59 +09:00
Shin Yamamoto
43c76faa20
fix invalid safearea insets in a table view with static cells ( #353 )
...
See also https://github.com/SCENEE/FloatingPanel/issues/330
2020-05-16 09:17:34 +09:00
Shin Yamamoto
5787a350ab
fix the memory leak of FloatingPanelController object ( #350 )
2020-05-15 07:41:18 +09:00
Shin Yamamoto
9abb80de64
Fix an invalid indicator insets of the tracking scroll view ( #346 )
2020-04-29 14:22:34 +09:00
Shin Yamamoto
7d90458d99
Support the initial hidden position not including the supported positions ( #345 )
2020-04-29 14:20:49 +09:00
Shin Yamamoto
5d5f14acd8
fix a build error on Xcode 11.4 ( #337 )
2020-03-30 17:52:00 +09:00
Shin Yamamoto
bed519f0c0
Merge pull request #326 from SCENEE/release-1.7.4
...
Release 1.7.4
2020-02-29 18:52:15 +09:00
Shin Yamamoto
7c47e2e20e
Release 1.7.4
2020-02-29 13:25:11 +09:00
Federico Zanetello
f909cd4101
ignore .swiftpm/ folder ( #324 )
v1.7.4
2020-02-29 13:20:50 +09:00
Federico Zanetello
8c24aa3fc9
fix api typo ( #325 )
...
fixes floatingPanel(_ vc: FloatingPanelController, contentOffsetForPinning) name
2020-02-29 13:18:09 +09:00
Shin Yamamoto
7531d80f1c
Merge pull request #323 from SCENEE/release-1.7.3
...
Release 1.7.3
2020-02-29 10:40:38 +09:00
Shin Yamamoto
c4c1906cae
Release 1.7.3
2020-02-28 21:00:44 +09:00
Shin Yamamoto
4f717c5840
update github issue template
2020-02-28 21:00:40 +09:00
Shin Yamamoto
fbd83ef500
fix a run script error
2020-02-26 22:53:44 +09:00
Shin Yamamoto
2a91145366
Fix breaking content offset of the tracked scroll view ( #315 )
...
* Convert the tracked scroll view frame to the surface coordinate space
2020-02-26 22:49:51 +09:00
Shin Yamamoto
f5d72aa0a5
Add failure requirements for multiple panels ( #322 )
...
* add multi panel sample
2020-02-26 22:47:52 +09:00
Shin Yamamoto
65f67c98f4
Add floatingPanel(_:contentOffsetForPinning:) delegate method ( #314 )
...
* add floatingPanel(_:contentOffsetForPinning:)
* add 'Show NavigationController' sample
* fix the initial content offset in a navigation bar with a large text
The content offset preservation should be applied only when
`FloatingPanelController.contentInsetAdjustmentBehavior` is `.always`.
This is because the library user loses control of the initial offset.
2020-02-24 11:16:10 +09:00
Shin Yamamoto
1f79c2573f
Merge pull request #316 from jacksonjude/master
...
Minor README.md typo
2020-02-15 10:32:03 +09:00
jacksonjude
bc840dde46
Minor README.md typo
2020-02-08 22:36:50 -08:00
Shin Yamamoto
57ed039857
Merge pull request #312 from SCENEE/release-1.7.2
...
Release 1.7.2
2020-01-30 09:29:00 +09:00
Shin Yamamoto
11f0e8c84e
Release 1.7.2
v1.7.2
2020-01-29 11:33:11 +09:00
Shin Yamamoto
dd19c866d4
Merge pull request #311 from SCENEE/return-childvc-to-consult
...
Return the child view controller to consult
2020-01-29 11:31:01 +09:00
Shin Yamamoto
801fed9843
Return the child view controller to consult
2020-01-29 08:54:53 +09:00
Shin Yamamoto
847b5c0917
Merge pull request #310 from SCENEE/fix-didenddecelerating-call
...
Fix delegate calls
2020-01-28 22:39:37 +09:00
Shin Yamamoto
c64056ca7b
Make floatingPanelDidEndDragging's velocity zero when it won't animate
...
Ideally, it's better to define a delegate method like
scrollViewDidEndDragging(_:willDecelerate:) in FloatingPanelControllerDelegate
to notify whether a panel will be decelerated or not.
However it's a broken change so I add this change as workaround.
The delegate method definition will be improved on v2.0.
2020-01-28 11:40:31 +09:00
Shin Yamamoto
269c3e29b5
Call floatingPanelDidEndDecelerating even if an animation interrupted
2020-01-27 16:50:16 +09:00