Home

Awesome

CocoaPods SPM license

UIViewController extension to present view / view controller as bottom-half modal.

<p align="center"> <img src="Demo.gif" width="30%"> </p>

Installation

CocoaPods

pod 'SemiModalViewController'

Swift Package Manager

dependencies: [
    .Package(url: "https://github.com/muyexi/SemiModalViewController.git", majorVersion: 0)
]

Usage

Present a view controller:

let options = [
    SemiModalOption.pushParentBack: true
]

let controller = UIViewController()

controller.view.height = 200
controller.view.backgroundColor = UIColor.redColor()

presentSemiViewController(controller, options: options, completion: {
    print("Completed!")
}, dismissBlock: {
    print("Dismissed!")
})

Or view:

let view = UIView(frame: UIScreen.mainScreen().bounds)
view.height = 300
view.backgroundColor = UIColor.redColor()

presentSemiView(view, options: options) {
    print("Completed!")
}

Dismiss a presented view / view controller:

dismissSemiModalView()

Default options:

SemiModalOption.traverseParentHierarchy : true,
SemiModalOption.pushParentBack          : false,
SemiModalOption.animationDuration       : 0.5,
SemiModalOption.parentAlpha             : 0.5,
SemiModalOption.parentScale             : 0.8,
SemiModalOption.shadowOpacity           : 0.5,
SemiModalOption.transitionStyle         : .slideUp,
SemiModalOption.disableCancel           : true

Credits

SemiModalViewController is based on KNSemiModalViewController.

License

SemiModalViewController is released under the MIT license. See LICENSE for details.