README of Chinese
HCCPopup
About
A syntactic sugar library of UIViewControllerTransitioningDelegate
.
Related documents from Apple: Creating Custom Presentations
Screenshot
Example
To run the example project, clone the repo, and run pod install
from the Example directory first.
Release notes
1.0.0
- Predefined alignments:
topLeft
,topRight
,bottomLeft
,bottomRight
,center
- Custom alignment:
custom
- Predefined animations:
horizontal
,vertical
,center
,reversed
- Custom animation: support custom
CGAffineTransform
Documentation
Requirements
iOS 9.0+
swift 5+
Installation
HCCPopup is a Private Pod for now. To install it, simply add the following line to your Podfile:
pod 'HCCPopup' , :git => 'https://github.com/hccxc/ios-popup.git'
Usage
Popup.Alignment
The .custom(x:y:)
case in a rectangle with height h
and width w
describes the origin
point (x * w/2 + w/2, y * h/2 + h/2)
in the coordinate system of the rectangle.
Popup
// Hold your `Popup`
let popup = Popup()
popup.configuration = .init(isDismissible: isDismissible, alignment: alignment, scaleX: scaleX, scaleY: scaleY, animation: animation)
// For `presentedViewController`
// Set `Popup` as `transitioningDelegate` of `presentedViewController`
// Set `modalPresentationStyle` to `.custom`
presented.transitioningDelegate = popup
presented.modalPresentationStyle = .custom
someViewController.present(presented, animated: true)
UIViewController extension
let viewController = UIViewController()
let config = Popup.Configuration(isDismissible: isDismissible, alignment: alignment, scaleX: scaleX, scaleY: scaleY, animation: animation)
// `pup` is a readonly `Popup` instance
viewController.pup(config).present(vcToPresent, animated: true)
License
HCCPopup is available under the Apache 2.0 license. See the LICENSE file for more info.