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
Shin Yamamoto
e476cf5ce4
Fix the initial height of DebugTableViewController
2018-10-24 12:53:27 +09:00
Shin Yamamoto
03966f356f
Clean up code for safeAreaInsets update
2018-10-23 00:16:42 +09:00
Shin Yamamoto
ed257bf5b7
Replace my ID with my name
2018-10-23 00:08:13 +09:00
Shin Yamamoto
f918b8709e
Update doc comments
2018-10-23 00:08:13 +09:00
Shin Yamamoto
ad46f5bd55
Modify API names to add/remove a floating panel
2018-10-21 10:19:51 +09:00
Shin Yamamoto
a3e8d1587b
Fix FloatingPanel.safeAreaInsets on iOS10
2018-10-21 10:19:38 +09:00
Shin Yamamoto
ce556e213c
Fix FloatingPanelController.removeFromParent() on iOS10
2018-10-21 10:19:38 +09:00
Shin Yamamoto
7c3581d8be
Improve scroll view tracking
...
- Improve locking/unlocking scroll view to prevent scroll bouncing
and showing a scroll indicator unexpectedly.
- Handle scrollview.panGestureRecognizer change
- Handle scrollView.delegate intermediately.
2018-10-21 10:19:38 +09:00
Shin Yamamoto
e08ce7fe18
Modify FloatingPanelController.removeFromParent()
2018-10-20 12:23:27 +09:00