SOPullUpView library for iOS, with pull up gesture 📱🖐️↕️
SOPullUpView is available through CocoaPods. To install
it, simply add the following line to your Podfile:
pod 'SOPullUpView'
Add pod 'SOPullUpView'
to your Podfile.
The main part of the library SOPullUpView. It defines an instance of SOPullUpControl where a MainViewController, called the SOPullUpView , can be dragged up and down, hiding or revealing the content.
As an example, defines SOPullUpControl and assign the datasource and init the view to be the PullUpViewController
let pullUpController = SOPullUpControl()
override func viewDidLoad() {
super.viewDidLoad()
pullUpController.dataSource = self
pullUpController.setupCard(from: view)
}
Make sure the main view controller that will adopt SOPullUpViewDataSource
pullUpViewCollapsedViewHeight …startViewHeightForPullUpViewController…
As an example, the StartViewHeight is determined by the following delegate callback:
func pullUpViewCollapsedViewHeight() -> CGFloat {
return 100.0
}
pullUpViewController …UIViewController as child of your main controller…
func pullUpViewController() -> UIViewController {
guard let vc = UIStoryboard(name: StoryBoardName, bundle: nil).instantiateInitialViewController() as? YourPullUpView else {return UIViewController()}
vc.pullUpControl = self.pullUpController
return vc
}
pullUpViewExpandedViewHeight …maximumHeightForPullUpViewController… (Optional method)
In the PullUpViewController defines an instance from SOPullUpControl to be initialized from the ParentViewContrroler
var pullUpControl: SOPullUpControl? {
didSet {
pullUpControl?.delegate = self
}
}
finally just adopt the SOPullUpViewDelegate in the pullUpViewController
pullUpViewStatus …will trigger the status of the pull Up View when it’s collapsed and expanded…
func pullUpViewStatus(_ sender: UIViewController, didChangeTo status: PullUpStatus) {
switch status {
case .collapsed:
case .expanded:
}
}
pullUpHandleArea … return the view that will handle the action of the user when click on it, will collapse and expand the pullUpViewController…
func pullUpHandleArea(_ sender: UIViewController) -> UIView {
return handleArea
}
To run the example project, clone the repo, and run pod install
from the Example directory first.
Ahmadalsofi, [email protected]
Brian Advent
SOPullUpView is available under the MIT license. See the LICENSE file for more info.