Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Ahmadalsofi/SOPullUpView
SOPullUpView library for iOS, with pull up gesture 📱🖐️↕️
https://github.com/Ahmadalsofi/SOPullUpView
music podfile pullup sopullupview-library
Last synced: about 1 month ago
JSON representation
SOPullUpView library for iOS, with pull up gesture 📱🖐️↕️
- Host: GitHub
- URL: https://github.com/Ahmadalsofi/SOPullUpView
- Owner: Ahmadalsofi
- License: mit
- Created: 2019-12-03T12:22:59.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-01-01T14:28:37.000Z (almost 5 years ago)
- Last Synced: 2024-11-09T08:48:29.631Z (about 1 month ago)
- Topics: music, podfile, pullup, sopullupview-library
- Language: Swift
- Homepage:
- Size: 13 MB
- Stars: 198
- Watchers: 5
- Forks: 24
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-cocoa - SOPullUpView
README
# SOPullUpView
[![Version](https://img.shields.io/cocoapods/v/SOPullUpView.svg?style=flat)](https://cocoapods.org/pods/SOPullUpView)
[![License](https://img.shields.io/cocoapods/l/SOPullUpView.svg?style=flat)](https://cocoapods.org/pods/SOPullUpView)
[![Platform](https://img.shields.io/cocoapods/p/SOPullUpView.svg?style=flat)](https://cocoapods.org/pods/SOPullUpView)
## Installation
SOPullUpView is available through [CocoaPods](https://cocoapods.org). To install
it, simply add the following line to your Podfile:```ruby
pod 'SOPullUpView'
```## Basic usage
1. Add `pod 'SOPullUpView'` to your Podfile.
2. 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
```swift
let pullUpController = SOPullUpControl()
override func viewDidLoad() {
super.viewDidLoad()
pullUpController.dataSource = self
pullUpController.setupCard(from: view)
}
```
3. Make sure the main view controller that will adopt SOPullUpViewDataSource
* pullUpViewCollapsedViewHeight ...startViewHeightForPullUpViewController...
As an example, the StartViewHeight is determined by the following delegate callback:
```swift
func pullUpViewCollapsedViewHeight() -> CGFloat {
return 100.0
}
```
* pullUpViewController ...UIViewController as child of your main controller...
```swift
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)
4. In the PullUpViewController defines an instance from SOPullUpControl to be initialized from the ParentViewContrroler```swift
var pullUpControl: SOPullUpControl? {
didSet {
pullUpControl?.delegate = self
}
}
```
5. finally just adopt the SOPullUpViewDelegate in the pullUpViewController* pullUpViewStatus ...will trigger the status of the pull Up View when it's collapsed and expanded...
```swift
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....
```swift
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.