Skip to content

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

License

Notifications You must be signed in to change notification settings

muyexi/SemiModalViewController

Repository files navigation

CocoaPods SPM license

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

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published