My I have to make a Pod who show a modal with custom height from bottomBar compatible with iOS12.
I trying to use a library called UIDrawer to show the bottomBar
I have a Pod that is initialized as following:
Example init ViewController:
let myPod = myPodController(controller: self, randomStr: "someRandomString")
myPod.run()
and myPodController has the following structure class
public class myPodController: UIViewController {
let mainController: UIViewController // <- is the init ViewController passed as argument who will execute the .present() function later
var bottomController: UINavigationController
var someCustomController: SomeCustomControllerWithLogic
public init(controller: UIViewController, randomStr: String) {
self.mainController = controller
self.randomStr = randomStr
self.bottomController = UINavigationController(rootViewController: someCustomController)
}
public func run() {
DispatchQueue.main.async {
self.bottomController.modalPresentationStyle = .custom
self.bottomController.transitioningDelegate = self
self.mainController.present(self.bottomController, animated: true) // <-- here has to present, and transitionDelegate not work with the extension declared
}
}
}
extension myPodController: DrawerPresentationControllerDelegate {
public func drawerMovedTo(position: DraweSnapPoint) {
}
}
extension myPodController: UIViewControllerTransitioningDelegate {
func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
return DrawerPresentationController(presentedViewController: presented, presenting: presenting, blurEffectStyle: .dark)
}
}
using UIDrawer files who make the render, theres no way that the delegate of extension UIViewControllerTransitioningDelegate works
In the original example of UIDrawer works, I think because they declare the extension for the class who has can render the modal directly with:
self.present(viewController, animated: true)
In my case, I have to present with self.mainController:
self.mainController.present(viewController, animated: true)
and I think that's why the extension of DrawerPresentationControllerDelegate not work with the custom lib UIDrawer
So, my question is: How can extends the DrawerPresentationControllerDelegate for a custom controller that is located as variable into a class, in this case, how to make the self.mainController accepts the delegate of DrawerPresentationControllerDelegate?
My I have to make a Pod who show a modal with custom height from bottomBar compatible with iOS12.
I trying to use a library called UIDrawer to show the bottomBar
I have a Pod that is initialized as following:
Example init ViewController:
and myPodController has the following structure class
using UIDrawer files who make the render, theres no way that the delegate of extension UIViewControllerTransitioningDelegate works
In the original example of UIDrawer works, I think because they declare the extension for the class who has can render the modal directly with:
self.present(viewController, animated: true)
In my case, I have to present with self.mainController:
self.mainController.present(viewController, animated: true)
and I think that's why the extension of DrawerPresentationControllerDelegate not work with the custom lib UIDrawer
So, my question is: How can extends the DrawerPresentationControllerDelegate for a custom controller that is located as variable into a class, in this case, how to make the self.mainController accepts the delegate of DrawerPresentationControllerDelegate?