UIPopoverCard
is a slide-up card by states or adaptive by content
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
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()
// ...
}
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
// 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")
/// 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)
- Aleksey Pleshkov
- Email: im@alekseypleshkov.ru
- Website: alekseypleshkov.ru
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.