Skip to content

UIPopoverCard creating bottom slide card for show information.

License

Notifications You must be signed in to change notification settings

AlekseyPleshkov/UIPopoverCard

Repository files navigation

UIPopoverCard

UIPopoverCard is a slide-up card by states or adaptive by content

Screenshot

Installation

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To integrate UIPopoverCard into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!

target '<Your Target Name>' do
pod 'UIPopoverCard', '~> 1.2.4'
end

Then, run the following command:

$ pod install

How to use

You need create class UIPopoverCard and add in him UIPopoverCardConfiguration and UIPopoverCardBody. Add delegate to UIPopoverCardDelegate in your ViewController for work with events.

// ...

override func viewDidLoad() {
    super.viewDidLoad()
    // ...
    
    // UIPopoverCard
    let config = UIPopoverCardConfiguration()
    let body = UIPopoverCardBody(xibName: "Test")
    let popoverCard = UIPopoverCard(self, configure: config, body: body)
    
    popoverCard.show()
    // popoverCard.hide()
    
    // ...
}

UIPopoverCardConfiguration params

let config = UIPopoverCardConfiguration()

config.overlayColor = UIColor.lightGray
config.overlayAlpha = 0.5
config.cardBackgroundColor = UIColor.white
config.headerCardHeight = 20
config.headerCardLineColor = UIColor.lightGray
config.isShowBackground = true
config.isHideCardTapToBackground = true
config.visibleAnimationDuration = 0.35
config.changeStateAnimationDuration = 0.5
config.availableStates = [.small, .middle, .large]
config.isAdaptiveByContent = false
config.isShowHeader = false
config.isChangeSizeBySwipe = true

UIPopoverCardBody initialization types

// Create body by ViewController
let body = UIPopoverCardBody(viewController: YOU_UIVIEWCONTROLLER)

// Create body by View
let body = UIPopoverCardBody(view: YOU_UIVIEW)

// Create body from XIB name
let body = UIPopoverCardBody(xibName: "YOU_XIB_NAME")

UIPopoverCardDelegate events

/// Will change visibility state of popover card
func popoverCard(_ popoverCard: UIPopoverCard, willChangeShow isVisible: Bool)

/// Did change visibility state of popover card
func popoverCard(_ popoverCard: UIPopoverCard, didChangeShow isVisible: Bool)

/// Did change state of size card
func popoverCard(_ popoverCard: UIPopoverCard, didChangeSize state: UIPopoverCardState)

About Me

License

UIPopoverCard is released under the MIT license. In short, it's royalty-free but you must keep the copyright notice in your code or software distribution.

About

UIPopoverCard creating bottom slide card for show information.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published