semi-modal-controller
semi-modal-controller copied to clipboard
A lightweight modular library that provides a semi modal navigation controller and segue similar to the style of viewing comments on photos on Facebook for iOS
HBSemiModalNavigationController
A libary that allows you to present a UINavigationController semi modally. Designed modularily, you can create a slideable, zoomable, dismissable and subclassable way of presenting view controllers over other view controllers
Screenshots

How to setup
- Drag out a
UINavigationControllerand assign it to a customHBSemiModalclass. HBSemiModalNavigationController: a simple modal way of presenting aUINavigationControllerwithout a lot of interactionHBSlideSemiModalNavigationController: a modal way of presenting aUINavigationControllerallowing you to drag and change the height of a presentedUINavigationController. Optionally, you can enable automatic dismissal of the presented controller if neededHBZoomSemiModalNavigationController: a modal way of presenting aUINavigationControllerallowing you to drag and change the height and zoom of a presentedUINavigationController. Optionally, you can enable automatic dismissal of the presented controller if needed- Create a custom UIStoryboardSegue to the new
UINavigationControllerand assign it to the custom classHBSemiModalStoryboardSegue - See the demo for more!
Customizability - a lot of this can be done from Interface Builder
- Change the insets (i.e. the left, right, top and bottom padding) of the presented controller
- Change the minimum and height of the presented controller
- Change the duration of the show and hide animation of the presentation of the controller
- Change the corner radius of the navigation bar of the presented controller
- Enable or disable dragging of the presented controller
- Enable or disabled automatically dismissing the presented controller if it is dragged and dropped past a specific height percentage
- Change the anchor when zooming the presented controller in or out
- Subclass the various
HBSemiModalclasses to change or implement functionality