applidium / OverlayContainer

Non-intrusive iOS UI library to implement overlay based interfaces
https://gaetanzanella.github.io/2018-12-17/replicating-apple-maps-overlay
Other
1.15k stars 94 forks source link

scrollViewDrivingOverlay for multiple child views #48

Closed said13 closed 4 years ago

said13 commented 4 years ago

I have controller with multiple controllers. And I have scrollView in every child controller.

I need to call

    func overlayContainerViewController(_ containerViewController: OverlayContainerViewController,
                                        scrollViewDrivingOverlay overlayViewController: UIViewController) -> UIScrollView?

func every time I change visible child view. How can I solve it?

said13 commented 4 years ago

I tried like this but this func only calls once.

    func overlayContainerViewController(_ containerViewController: OverlayContainerViewController,
                                        scrollViewDrivingOverlay overlayViewController: UIViewController) -> UIScrollView? {
        switch self.cardVC.filterScrollView.selectedTitle {
        case "a":
            return self.cardVC.aVC.scrollView
        case "b":
            return self.cardVC.bVC.scrollView
        case "c":
            return self.cardVC.cVC.tableView
        case "d":
            return self.cardVC.dVC.scrollView
        default: return nil
        }
    }
gaetanzanella commented 4 years ago

Use the drivingScrollView property instead: containerController.drivingScrollView = myScrollView