This project is an experiment to explore how iOS navigation can be implemented using Compose Multiplatform. The goal is to leverage Kotlin Multiplatform capabilities to create a seamless navigation experience on both Android and iOS platforms.
Navigation Setup:
Navigator
class is used to manage navigation between different screens.BottomSheetNavigator
is used to handle bottom sheet navigation.View Controller Wrapping:
extendedComposeViewController
function creates a UIViewController
that hosts a Compose UI.UIViewControllerWrapper
class wraps another UIViewController
and adds gesture recognizer functionality to handle swipe gestures.Gesture Handling:
UIViewControllerWrapper
implements the UIGestureRecognizerDelegateProtocol
to handle swipe gestures.Interactive Pop Gesture:
interactivePopGestureRecognizer
is enabled for the entire screen to allow swipe-back navigation.interactivePopGestureRecognizer
is set to the UIViewControllerWrapper
to manage the gesture.