Shin Yamamoto
1b3f16bcd5
Fix disabling bottom constraints
2019-02-23 10:28:34 +09:00
Shin Yamamoto
f231105752
Enable to cancel tracking a scroll view
2019-02-21 19:19:48 +09:00
Shin Yamamoto
10d1a920f0
Add floatingPanelShouldBeginDragging(_:) delegate method
...
* Update doc comments
2019-02-21 19:19:48 +09:00
Shin Yamamoto
5c0ed4cf7d
Fix the wrong layout update on iOS10
...
On iOS 10, there is a case when a floating panel is updated by a
different position(the previous position) from the target position in
animating. This is because `FloatingPanelController` calls
`update(safeAreaInsets:)` in `viewDidLayoutSubviews()` unexpectedly.
2019-02-15 10:29:01 +09:00
Shin Yamamoto
4f56b57b0e
Replace FloatingPanel.panGesture with panGestureRecognizer
2019-02-05 22:10:03 +09:00
Shin Yamamoto
1b2dae2135
Fix presentation modally when fpc is reused
2019-01-30 13:09:04 +09:00
Damiaan Twelker
49e868a505
restore original scroll view delegate when updating content viewcontroller
2019-01-26 12:41:17 +01:00
Shin Yamamoto
2c72d07cab
Merge pull request #97 from SCENEE/support-full-screen
...
Support full screen layout
2019-01-19 16:41:32 +09:00
Shin Yamamoto
31c057f9f8
Fix typo
2019-01-19 14:53:36 +09:00
Cedric Gatay
08d275690a
fix(delegateIgnored): fix for animation use case
...
Do not force update layout to allow the user to animate the change later on.
2019-01-14 11:05:50 +01:00
Cedric Gatay
1c307f751e
fix(delegateIgnored): listen on delegate change
...
Properly listens for delegate changes and trigger behavior / layout changes accordingly.
Made constructor parameter name explicit.
2019-01-14 08:49:23 +01:00
Cedric Gatay
6f06a0f7fc
fix(delegateIgnored): Allow to set delegate on init
...
Typical use case is :
```
let floatingVC = FloatingPanelController()
floatingVC.delegate = self
```
This PR allows to set the delegate straight away by using `let floatingVC = FloatingPanelController(self)`
Its true reason is that the setup code that fetches behavior / layout through delegate is called without the delegate being set is useless on `init`ing.
Another implementation could be observing the `didSet` event on delegate to do the `setUp` for `FloatingPanel`
2019-01-12 15:15:48 +01:00
Shin Yamamoto
4ad7f11e93
Support Swift 4.1
2019-01-05 21:44:05 +09:00
Shin Yamamoto
aa23e404e1
Fix a content offset of a tracking scroll view
...
This bug only happens on 'Shoe Tab Bar' in Samples app on landscape
orientation.
2018-12-28 16:08:10 +09:00
Shin Yamamoto
7ded61c2bc
No longer need traitCollectionDidChange(_:)
2018-12-28 15:13:59 +09:00
Shin Yamamoto
08aabcf6dd
Fix bugs on iOS 10
2018-12-28 15:13:59 +09:00
Shin Yamamoto
e19af7e67d
Set up the height constraints with the root view's heightAnchor
...
* `vc.view.bounds.height` causes some layout problems. This change
makes a content view layout more robust.
* Enable to configure the content-hugging and compression-resistance
2018-12-28 15:13:59 +09:00
Shin Yamamoto
62aa07e28e
Refactor layout logic
...
- Update README
- Remove FloatingPanelSurfaceWrapperView
- Remove content wrapper view of FloatingPanelSurfaceView
- Remove {setUp,tearDown}Views in FloatingPanel
- Modify timing to call FloatingPanelLayoutAdapter.checkLayoutConsistance()
- Fix invalid surface height on orientation change
- Fix a layout problem on SafeArea.Top
- Fix invalid top inset of safe area on a navigation bar with search bar
- Fix content offsets of a tracking scroll view
- Fix the content offsets on orientation change(Regression)
- Fix FloatingPanelPresentationController
- Fix intrinsic height handling
- Reduce re-rendering the surface view unexpectedly
2018-12-28 15:13:59 +09:00
Shin Yamamoto
d5f5e99010
Fix dismiss swizzling
2018-12-28 15:13:59 +09:00
Shin Yamamoto
18c46d191e
Fix panel is duplicated on orientation change
2018-12-28 15:13:59 +09:00
Shin Yamamoto
bc4a2def42
Add FloatingPanelControllerDelegate.floatingPanel(_:shouldRecognizeSimultaneouslyWith:)
2018-12-20 11:20:22 +09:00
Shin Yamamoto
81441a724b
Fix a crash in checkLayoutConsistance()
...
The crash happened on orientation change from landscape to portrait in
"Show Tab Bar" scene.
2018-12-12 11:47:02 +09:00
Shin Yamamoto
8751a9fe53
Fix the broken landscape layout
2018-12-12 09:59:19 +09:00
Shin Yamamoto
fcd4ad874a
Use autoresizing masks instead of Auto Layout constraints
2018-12-06 09:11:25 +09:00
Shin Yamamoto
2dced7bfbf
Improve FloatingPanelController implementation
2018-12-06 09:11:25 +09:00
Shin Yamamoto
6817990555
Add .hidden position
2018-12-04 22:25:22 +09:00
Shin Yamamoto
20272eccb8
Add FloatingPanelTransitioning to present as Modality
2018-12-04 22:25:22 +09:00
Shin Yamamoto
6e87690649
FloatingPanelController as a Modality
...
* Change a floating panel view hierarchy
* Add FloatingPanelController.{show,hide}(animated:completion)
2018-12-04 22:24:26 +09:00
Shin Yamamoto
a1e4643a25
Swizzling UIViewController.dismiss(animated:completion) for a content VC
2018-12-04 22:21:50 +09:00
Shin Yamamoto
d469caad69
Fix unexpected assertion failure
2018-12-04 08:19:41 +09:00
Derek Schade
a8691ee3a5
Update layout when layout is intrinsiclayout
2018-12-04 08:14:46 +09:00
Shin Yamamoto
66f5b0b210
Fix an invalid content offset on height change
2018-12-01 11:08:33 +09:00
Evgeniy Branitsky
4f5abfefec
Removing backdrop view
2018-11-24 11:21:56 +03:00
Shin Yamamoto
c0647017b5
Add FloatingPanelControllerDelegate.floatingPanelDidChangePosition(_:)
2018-11-21 09:10:50 +09:00
Ortwin Gentz
a4a08662be
Fixed infinite recursion in FloatingPanel.responds(to:)
...
if track(scrollView:) is called twice
2018-11-15 22:11:40 +01:00
Shin Yamamoto
1399cc6fbd
Fix a layout bug on orientation changed
2018-11-15 10:33:46 +09:00
Shin Yamamoto
d24e1c5355
Prevent unexpected assertion failure
...
The assertion always fails on orientation change from landspace to
portrait with the default layouts.
2018-11-14 11:18:54 +09:00
Shin Yamamoto
7b4ed52eb1
Add comments and fix typos
2018-11-12 13:35:36 +09:00
Shin Yamamoto
e1c9fe120b
Add FloatingPanelController.updateLayout()
2018-11-12 13:03:54 +09:00
Shin Yamamoto
16e8808ce5
Modify the backdrop default behavior
2018-11-07 11:18:05 +09:00
Shin Yamamoto
d1b5a1f517
Merge pull request #29 from SCENEE/fix-navigation-bar-problem
...
Fix navigation bar problem
2018-11-06 10:10:45 +09:00
Shin Yamamoto
629807584b
Fix the removal interaction
2018-11-05 08:50:39 +09:00
Shin Yamamoto
de9f415ded
Observe parent's view.safeAreaInsets
2018-11-02 17:00:34 +09:00
Shin Yamamoto
fd5ca2c2fc
Clean up FloatingPanelSurfaceView and FloatingPanelLayout
2018-11-02 16:19:53 +09:00
Shin Yamamoto
0cf0f42ca4
Replace FloatingPanelController.show(_:sender:) with the set(contentViewController:)
...
And add a sample code to test show(_:sender:) in ContentVC.
`FloatingPanelController.show(_:sender:)` can block 'Show' segue in a
content view controller. 'Show' segue should not be handled by
'FloatingPanelController`. So I replace this method.
2018-11-02 10:33:12 +09:00
Shin Yamamoto
b4a26344d9
Add a removable interaction
2018-11-02 09:17:58 +09:00
Shin Yamamoto
f4d6380094
Add and Update preconditions of the parent VC
2018-11-01 11:19:32 +09:00
Shin Yamamoto
c4bf4c3067
Open the pan gesture recognizer of FloatingPanelController
2018-10-28 06:41:37 +09:00
Shin Yamamoto
71be1f2ed5
Change the type of 'supportedPositions' from Array to Set
2018-10-28 06:41:37 +09:00
Ortwin Gentz
4dcc5bc564
Fixed some typos and language in comments
2018-10-26 15:30:11 +02:00