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.