Skip to content

SOPullUpView library for iOS, with pull up gesture ๐Ÿ“ฑ๐Ÿ–๏ธโ†•๏ธ

License

Notifications You must be signed in to change notification settings

Ahmadalsofi/SOPullUpView

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

35 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

SOPullUpView

Version License Platform

Installation

SOPullUpView is available through CocoaPods. To install it, simply add the following line to your Podfile:

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

      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:

         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)

  4. In the PullUpViewController defines an instance from SOPullUpControl to be initialized from the ParentViewContrroler

     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...

         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, alsofiahmad@yahoo.com

Reference

Brian Advent

License

SOPullUpView is available under the MIT license. See the LICENSE file for more info.

About

SOPullUpView library for iOS, with pull up gesture ๐Ÿ“ฑ๐Ÿ–๏ธโ†•๏ธ

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published