Ahmadalsofi / Sopullupview
Programming Languages
Labels
Projects that are alternatives of or similar to Sopullupview
SOPullUpView
Installation
SOPullUpView is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'SOPullUpView'
Basic usage
-
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 }
-
Example
To run the example project, clone the repo, and run pod install
from the Example directory first.
Author
Ahmadalsofi, [email protected]
Reference
Brian Advent
License
SOPullUpView is available under the MIT license. See the LICENSE file for more info.