Git Product home page Git Product logo

viewstacker's Introduction

Title StacksManager

Output sample

StacksManager framework works on an array of UIView objects stacked one over the other to provide a user friendly navigation over features that require multiple views to be presented in a sequential order. Each view is presented or dismissed according to the user actions.

IMPORTANT: Each view used in the stack must confirm to StackViewDataSource protocol.

There are two inbuilt user actions in this framework:

TapGesture : The user may tap on the next view, shown at the bottom of the screen, to move to that view. The user may tap on any other previously presented view to go back to that view. Tapping on current view will have no effect. Tapping while in the first view will not dismiss the entire stack. EdgeSwipeGesture : The user may pan from the right edge of the screen to dismiss the current view. This gesture can be used to dismiss the entire stack, if done from the first visible view.

Data Passing: Stack Manager has the capability to pass any value to the next view in the stack. This can be seen in the sample app while moving from StashAmountSelectionView to EMISelectionView, using methods sendDataToNextView() and recieveIncomingData(value: Any) methods. The data passed in the sample app is hardcoded data for the purpose of demonstration.

View State: The framework supports multiple view states. Dismiss, Visible, Background states are used in the sample app. If required, state FullScreen can be used too using the var state: ViewState { get set} which are available in the UIViews as part of confirming to StackViewDataSource protocol. These states can be used to change UI of each view as per app requirement. Navigating through the stack changes the state of the views as required (handled in StackManager internally).

StackManager only support portrait mode.

viewstacker's People

Contributors

rogueknight1726 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.