Latest | 1.1.0 |
---|---|
Homepage | https://github.com/Binur/SubscriptionPrompt |
License | MIT |
Platforms | ios 8.0, requires ARC |
Authors |
SubscriptionPrompt is a UIViewController with a carousel at the top and a number of rows at the bottom. Written in Swift, works for Objective-C as well.
Installation
CocoaPods
You can use CocoaPods to install SubscriptionPrompt
by adding it to your Podfile
:
platform :ios, '8.0'
use_frameworks!
pod 'SubscriptionPrompt'
Manually
Download and drop /SubscriptionPrompt
folder in your project.
Usage
Just initialize the SubscriptionViewontroller with the following constructor,
you can omit some parameters since they have default values:
init(title: String? = nil, slides: [Slide], options: [Option],
cancelMessage: String? = nil, restoreButtonTitle: String? = nil)
and present it.
Slide
and Option
are structs, use the following inits to create them:
init(image: UIImage?, title: String?, subtitle: String?)
init(title: String?, checked: Bool = false)
To get the index of tapped rows, implement the SubscriptionViewControllerDelegate.
override func viewDidLoad() {
super.viewDidLoad()
subscriptionViewController.delegate = self
}
func subscriptionViewControllerRowTapped(atIndex index: Int) {
print("tapped index: (index)")
}
animateDraggingToTheRight(duration:)
– animates a little drag to the right and back with the given duration
[ux hint for the user that the carousel is draggable]
Styles customization
Set stylingDelegate: SubscriptionViewControllerStylingDelegate
to customize styles.
There are three optional methods:
optional func subscriptionViewControllerSlideStyle(atIndex index: Int) -> SlideStyle
optional func subscriptionViewControllerOptionStyle(atIndex index: Int) -> OptionStyle
optional func subscriptionViewControllerNotNowButtonStyle() -> OptionStyle
The methods return OptionStyle
and SlideStyle
. They represent the looks of the subscription options at the bottom and of the slides at the top.
Use the following init for OptionStyle
:
init(backgroundColor: UIColor? = nil, textFont: UIFont? = nil,
textColor: UIColor? = nil, accessoryType: UITableViewCellAccessoryType? = nil)
and for SlideStyle
:
init(backgroundColor: UIColor? = nil, titleFont: UIFont? = nil,
subtitleFont: UIFont? = nil, titleColor: UIColor? = nil,
subtitleColor: UIColor? = nil)
The title is customizable via the titleFont
and titleColor
properties.
You can also change the background dim color using the dimColor: UIColor
and dimView: UIView
properties.
TODO
- Bug fixes.
- Add closure-based delegation API. Example:
subscriptionVC.rowTapped { idx in
print("tapped index: (idx)")
}
Latest podspec
{ "name": "SubscriptionPrompt", "version": "1.1.0", "summary": "Subscription View Controller like the Tinder uses.", "homepage": "https://github.com/Binur/SubscriptionPrompt", "license": { "type": "MIT", "file": "LICENSE" }, "authors": { "Binur Konarbai": "[email protected]" }, "social_media_url": "https://www.facebook.com/binchik", "platforms": { "ios": "8.0" }, "requires_arc": true, "source": { "git": "https://github.com/Binur/SubscriptionPrompt.git", "tag": "1.1.0", "submodules": true }, "source_files": "SubscriptionPrompt/**/*.{h,swift}", "pushed_with_swift_version": "3.0" }
Tue, 07 Nov 2017 02:40:04 +0000