AlekseyPleshkov / UIPopoverCard

UIPopoverCard creating bottom slide card for show information.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

License:MIT License


Languages

Language:Swift 95.5%Language:Ruby 2.5%Language:Objective-C 2.0%