Search packages, repositories and app categories

cupertino_stackview cover
Package detailsv2.0.0

cupertino_stackview

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

AndroidiOSWebmacOSWindowsLinux
30-day downloads
86
Likes
53
Pub points
140

Install package

flutter pub add cupertino_stackview

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

CupertinoStackView is a Flutter widget that simplifies the creation of iOS 13-style stack-based navigation. It provides smooth, native-like transitions between screens with minimal setup, mimicking the look and feel of iOS's built-in stack navigation. Designed for developers aiming to achieve consistent iOS aesthetics across platforms, it supports all major Flutter platforms including Android, iOS, Web, macOS, Windows, and Linux. The package enhances user experience through intuitive gestures and animations, making it ideal for apps requiring a modern, iOS-centric interface.

Use cases

  • iOS-style screen transitions
  • Navigation with swipe gestures
  • Creating layered UIs
  • Cross-platform iOS design consistency
  • App onboarding flows
  • Modal stack management

Key features

  • iOS 13 stack navigation style
  • Gesture-driven navigation
  • Smooth animations
  • Cross-platform support
  • Minimal configuration
  • Customizable transition effects

Suitable for

  • Developers targeting iOS design language
  • Apps needing native iOS navigation feel
  • Projects with complex screen hierarchies
  • Teams prioritizing UX consistency
  • Flutter apps on multiple platforms
  • Design-focused mobile applications

Considerations

  • Best suited for iOS-oriented designs
  • May require additional styling for non-iOS themes
  • Limited customization compared to full custom navigators
  • Not ideal for highly complex routing scenarios
  • Depends on gesture recognition accuracy
  • Performance may vary on older devices

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

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

Media

Watch on Youtube:

v1.0.0



Description

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.

How-to-Use

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

cupertinoStackViewController = CupertinoStackViewController(
    navigatorState,
    {
      "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:

CupertinoStackView(
  true,             //_isPrimary 
  "Page I",         //_navigation
  Scaffold(...),    //_child
  Colors.black,     //_backgroundColor 
 {Key key,
  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.

Notes

Any help, suggestion or criticism is appreciated!

Cheers.





Categories

Source repository

Projects using this package

No data available yet.