Pio's Awesome Customizable ViewController
POViewController is a is a subclass of UIViewController, and it's easy to customize view size and presentation position.
| Style | Code | Image |
| Pop Up |
class PopUpViewController: POViewController {
...
init() {
super.init(
direction: .center,
viewSize: .init(
width: .absolute(200),
height: .fit
),
isSwipeEnabled: false
)
}
...
} |
|
| Bottom Sheet |
class BottomSheetViewController: POViewController {
...
init() {
super.init(
direction: .bottom,
viewSize: .init(
width: .full,
height: .absolute(300)
),
isSwipeEnabled: true
)
}
...
} |
|
| Side Menu |
class SideMenuViewController: POViewController {
...
init() {
super.init(
direction: .right,
viewSize: .init(
width: .fit,
height: .full
),
isSwipeEnabled: true
)
}
...
} |
Please refer to the example project.
To run the example project, clone this repository, open Example.xcodeproj in the Example folder.
- iOS 13.0+
POViewControlleris written in Swift 5.5
To install POViewController using Swift Package Manager(SPM), you can follow the tutorial published by Apple.
- In Xcode, select "File" → "Add Packages"
- Enter
https://github.com/kyungpyoda/POViewController.gitto add package dependency.
pod 'POViewController'
Contributions of any kind are welcome! 🤗
POViewController is available under the MIT License. See LICENSE for details.


