SCNavigationController 1.1.3

SCNavigationController 1.1.3

TestsTested
LangLanguage Obj-CObjective C
License MIT
ReleasedLast Release Nov 2017

Maintained by Stefan Ceriu.



SCNavigationController is an UINavigationController like container view controller and was built to provide and expose more features and control. It is especially helpful in customizing the push/pop animations through layouters and custom timing functions, and to know when those animations are finished through completion blocks.

It was built on top of the SCStackViewController and for that reason it supports and builds on top of the following features:

  1. Supports customizable transitions and animations through custom layouters, easing functions and animation durations (examples bellow)

  2. Offers completion blocks for all stack related operations

  3. Allows stacking view controllers on the top, left, bottom or right side of the root view controller

  4. Exposes an interactiveGestureRecognizer not just for popping but for full stack navigation and allows changes on this gesture's trigger area

    and more..

Examples

Parallax - Sine Ease In Out - Right

Parallax - Sine Ease In Out - Right

Parallax - Sine Ease In Out - Top

Parallax - Sine Ease In Out - Top

Parallax - Interactive

Parallax - Interactive

Plain - Elastic Ease Out

Plain - Elastic Ease Out

Sliding - Bounce Ease Out

Sliding - Bounce Ease Out

Parallax - Back Ease In Out

Parallax - Back Ease In Out

Google Maps - Back Ease In

Google Maps - Back Ease In

Usage

  • Import the navigation controller into your project
#import "SCNavigationController.h"
  • Create a new instance
navigationController = [[SCNavigationController alloc] initWithRootViewController:rootViewController];
  • Register layouters (optional, defaults to SCParallaxStackLayouter)
id<SCStackLayouterProtocol> layouter = [[SCParallaxStackLayouter alloc] init];
[navigationController setLayouter:layouter];
  • Push view controllers
[self.navigationController pushViewController:viewController animated:YES completion:nil];
  • Pop view controllers
[self.navigationController popViewControllerAnimated:YES completion:nil];
  • Pop to any given view controller
[self.navigationController popToViewController:viewController animated:YES completion:nil];
  • Pop to the root view controller
[self.navigationController popToRootViewControllerAnimated:YES completion:nil];

######Check out the demo project for more details (pod try)

License

SCNavigationController is released under the MIT License (MIT) (see the LICENSE file)

Contact

Any suggestions or improvements are more than welcome. Feel free to contact me at [email protected] or @stefanceriu.