In an iOS app, screens can be transitioned using UINavigationController
.
When hiding the navigation bar during a screen transition in the view controller lifecycle, there are some important considerations.
For example, if transitioning from screen A β screen B via push
, and the navigation bar is re-enabled in viewDidDisappear
of screen A while being hidden in viewWillAppear
of screen B, the navigation bar will not be hidden on screen B.
This happens because viewWillAppear
of screen B is called before viewDidDisappear
of screen A.
I worked on a project where the pre-login flow in an existing iOS project was ported to Flutter, while the post-login flow remained in native code, connected via Flutterβs Method Channel.
Here are my key takeaways from the Flutter porting experience:
Important points to keep in mind when integrating native code:
SceneDelegate
, additional configurations are needed in the default generated project.open
method to open a URL link, it must run on the main thread to prevent delays or freezes when returning to the app.