markturnip
08/28/2025, 8:34 AMComposeUIViewController in the UINavigationController
However it seems @Kashismails has put together a working demo using Voyager.
I wonder if anyone else is using a setup like this and in production?
https://www.droidcon.com/2024/09/06/using-native-ios-navigation-from-compose-multiplatform/Jonathan
08/28/2025, 12:44 PMmarkturnip
08/28/2025, 1:05 PMJonathan
08/28/2025, 1:05 PMmarkturnip
08/28/2025, 1:05 PMmarkturnip
08/28/2025, 1:06 PMJonathan
08/28/2025, 1:07 PMmarkturnip
08/28/2025, 1:12 PMComposeUIViewControllerJonathan
08/28/2025, 1:22 PMNavHost? The animations look and feel native to my eyes (I’m an Android users so I don’t notice all nuances).markturnip
08/28/2025, 1:33 PMJonathan
08/28/2025, 1:34 PMmarkturnip
08/28/2025, 1:44 PMJonathan
08/28/2025, 1:55 PMChristopher Mederos
10/03/2025, 1:45 AMval tabEnter = scaleIn(
initialScale = .99f, animationSpec = bezierTween(delayMillis = 30)
) + slideInVertically(
initialOffsetY = { 5 }, animationSpec = bezierTween(delayMillis = 30)
) + fadeIn(
bezierTween(delayMillis = 30, durationMillis = 30)
)
val tabExit = scaleOut(
targetScale = .99f, animationSpec = bezierTween(durationMillis = 30)
) + slideOutVertically(
targetOffsetY = { 5 }, animationSpec = bezierTween(durationMillis = 30)
) + fadeOut(bezierTween(durationMillis = 30, delayMillis = 30))
fun <T> bezierTween(
durationMillis: Int = 400,
delayMillis: Int = 0,
) : TweenSpec<T> = tween(
durationMillis = durationMillis,
easing = CubicBezierEasing( 0.2833f, 0.99f, 0.31833f, 0.99f),
delayMillis = delayMillis
)