Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alekseypleshkov/uipopovercard
UIPopoverCard creating bottom slide card for show information.
https://github.com/alekseypleshkov/uipopovercard
cocoapods ios-ui swift
Last synced: 8 days ago
JSON representation
UIPopoverCard creating bottom slide card for show information.
- Host: GitHub
- URL: https://github.com/alekseypleshkov/uipopovercard
- Owner: AlekseyPleshkov
- License: mit
- Created: 2019-02-18T13:32:58.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-08-20T06:20:23.000Z (about 5 years ago)
- Last Synced: 2024-10-31T16:26:15.452Z (14 days ago)
- Topics: cocoapods, ios-ui, swift
- Language: Swift
- Homepage:
- Size: 345 KB
- Stars: 5
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# UIPopoverCard
`UIPopoverCard` is a slide-up card by states or adaptive by content
![Screenshot](https://github.com/AlekseyPleshkov/UIPopoverCard/blob/master/example.gif?raw=true)
## Installation
[CocoaPods](https://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command:
```bash
$ gem install cocoapods
```To integrate `UIPopoverCard` into your Xcode project using CocoaPods, specify it in your `Podfile`:
```ruby
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!target '' do
pod 'UIPopoverCard', '~> 1.2.4'
end
```Then, run the following command:
```bash
$ 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.``` swift
// ...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
``` swift
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
``` swift
// 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
```swift
/// 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
* Aleksey Pleshkov
* Email: [[email protected]](mailto:[email protected])
* Website: [alekseypleshkov.ru](https://alekseypleshkov.ru)## 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.