Flutter Cupertino Stackview

Flutter Cupertino Stackview


Example Project for Example Project for cupertino_stackview.


Cosmos Software Cosmos Software Pub License

A very easy-to-use navigation tool/widget for having iOS 13 style stacks.

It is highly recommended to read the documentation and run the example project on a real device to fully understand and inspect the full range of capabilities.

Media | Description | Installation | How-to-Use


Flutter Cupertino Stackview Flutter Cupertino Stackview


Watch on Youtube:



The "StackView" system, as I like to call it because I don’t know the real name, is now the default navigation system for iOS 13. As a fan of this, I decided to implement a very easy-to-use version of it for Flutter as well.


First, instantiate the cupertinoStackViewController that is provided by "misc.dart" with the required parameters:

cupertinoStackViewController = CupertinoStackViewController(
      "Page I": (BuildContext context, dynamic parameters) {
        return PageI();
      "Page II": (BuildContext context, dynamic parameters) {
        return PageII();
      "Page III": (BuildContext context, dynamic parameters) {
        return PageIII();
      "Page IV": (BuildContext context, dynamic parameters) {
        return PageIV();

Then create a CupertinoStackView widget as shown in the example:

  true,             //_isPrimary 
  "Page I",         //_navigation
  Scaffold(...),    //_child
  Colors.black,     //_backgroundColor 
 {Key key,
  isDismissible : true,
  radius        : Radius.circular(10.0)})

Further Explanations:

For a complete set of descriptions for all parameters and methods, see the documentation.

  • The [cupertinoStackViewController] from ‘misc.dart’ has to be initialised as soon as the application starts via the [void initialise(double height, double width)] method. Use this method with the [MediaQuery.of(context).size.height] and [MediaQuery.of(context).size.width] values.
  • Use [CupertinoStackViewController]’s [Future back(BuildContext context, dynamic parameters) async] and [Future navigate(String targetNavigation, BuildContext context, dynamic parameters) async] methods for the corresponding actions. Do not call [Navigator] methods directly.


Any help, suggestion or criticism is appreciated!


Source Code

Please Visit [Flutter Cupertino Stackview]() Source Code at GitHub