KLCPopup alternatives and similar libraries
Based on the "Popup" category.
Alternatively, view KLCPopup alternatives based on common mentions on social networks and blogs.
-
SwiftEntryKit
SwiftEntryKit is a presentation library for iOS. It can be used to easily display overlays within your iOS apps. -
PopupDialog
A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertController alert style. -
LNPopupController
LNPopupController is a framework for presenting view controllers as popups of other view controllers, much like the Apple Music and Podcasts apps. -
STPopup
STPopup provides STPopupController, which works just like UINavigationController in popup style, for both iPhone and iPad. It's written in Objective-C and compatible with Swift. -
MMPopupView
Pop-up based view(e.g. alert sheet), can be easily customized. -
CNPPopupController
Simple and versatile class for presenting a custom popup in a variety of fashions. It includes a many options for controlling how your popup appears and behaves. -
AZDialogViewController
A highly customizable alert dialog controller that mimics Snapchat's alert dialog. -
MIBlurPopup
MIBlurPopup lets you create popups with a blurred background -
PopupController
PopupController is a controller for showing temporary popup view. -
PopupWindow
PopupWindow is a simple Popup using another UIWindow in Swift -
SubscriptionPrompt
Subscription View Controller like the Tinder uses -
NMPopUpView
Simple Swift class for iOS that shows nice popup windows with animation. -
PBPopupController
A framework for presenting bars and view controllers as popup, much like the look and feel of Apple Music App. -
PopupKit
Simple way to present custom views as a popup in iOS and tvOS.
Appwrite - The open-source backend cloud platform
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of KLCPopup or a related project?
README
KLCPopup
KLCPopup is a simple and flexible iOS class for presenting any custom view as a popup. It includes a variety of options for controlling how your popup appears and behaves.
Installation
- Drag the
KLCPopup/KLCPopup
folder into your project. #import "KLCPopup.h"
where appropriate.
Usage
(see sample Xcode project in /KLCPopupExample
)
Creating a Popup
Create a popup for displaying a UIView using default animations and behaviors (similar to a UIAlertView):
+ (KLCPopup*)popupWithContentView:(UIView*)contentView;
Or create a popup with custom animations and behaviors. Customizations can also be accessed via properties on the popup instance:
+ (KLCPopup*)popupWithContentView:(UIView*)contentView
showType:(KLCPopupShowType)showType
dismissType:(KLCPopupDismissType)dismissType
maskType:(KLCPopupMaskType)maskType
dismissOnBackgroundTouch:(BOOL)shouldDismissOnBackgroundTouch
dismissOnContentTouch:(BOOL)shouldDismissOnContentTouch;
Note: You may pass nil
for contentView
when creating the popup, but you must assign a contentView
to the popup before showing it!
Also you must give your contentView
a size before showing it (by setting its frame), or it must size itself with AutoLayout.
Showing a Popup
Show popup in middle of screen.
- (void)show;
There are two ways to control where your popup is displayed:
Relative layout presets (see
KLCPopup.h
for options).- (void)showWithLayout:(KLCPopupLayout)layout;
Explicit center point relative to a view's coordinate system.
- (void)showAtCenter:(CGPoint)center inView:(UIView*)view;
If you want your popup to dismiss automatically (like a toast in Android) you can set an explicit duration
:
- (void)showWithDuration:(NSTimeInterval)duration;
Dismissing a Popup
There are a few ways to dismiss a popup:
If you have a reference to the popup instance, you can send this message to it. If animated
, then it will use the animation specified in dismissType
. Otherwise it will just disappear:
- (void)dismiss:(BOOL)animated;
If you lost your reference to a popup or you want to make sure no popups are showing, this class method dismisses any and all popups in your app:
+ (void)dismissAllPopups;
Also you can call this category method from UIView(KLCPopup)
on your contentView, or any of its subviews, to dismiss its parent popup:
- (void)dismissPresentingPopup; // UIView category
Customization
Animation used to show your popup:
@property (nonatomic, assign) KLCPopupShowType showType;
Animation used to dismiss your popup:
@property (nonatomic, assign) KLCPopupDismissType dismissType;
Mask prevents touches to the background from passing through to views below:
@property (nonatomic, assign) KLCPopupMaskType maskType;
Popup will automatically dismiss if the background is touched:
@property (nonatomic, assign) BOOL shouldDismissOnBackgroundTouch;
Popup will automatically dismiss if the contentView is touched:
@property (nonatomic, assign) BOOL shouldDismissOnContentTouch;
Override alpha value for dimmed background mask:
@property (nonatomic, assign) CGFloat dimmedMaskAlpha;
Blocks
Use these blocks to synchronize other actions with popup events:
@property (nonatomic, copy) void (^didFinishShowingCompletion)();
@property (nonatomic, copy) void (^willStartDismissingCompletion)();
@property (nonatomic, copy) void (^didFinishDismissingCompletion)();
Example
UIView* contentView = [[UIView alloc] init];
contentView.backgroundColor = [UIColor orangeColor];
contentView.frame = CGRectMake(0.0, 0.0, 100.0, 100.0);
KLCPopup* popup = [KLCPopup popupWithContentView:contentView];
[popup show];
Notes
Interface Orientation
KLCPopup
supports Portrait and Landscape by default.
Deployment
KLCPopup
requires iOS 7.
Devices
KLCPopup
supports iPhone and iPad.
ARC
KLCPopup
requires ARC.
TODO
- Add support for keyboard show/hide.
- Add support for drag-to-dismiss.
- Add 'blur' option for background mask
Credits
KLCPopup was created by Jeff Mascia and the team at Kullect, where it's used in the Shout Photo Messenger app. Aspects of KLCPopup were inspired by Sam Vermette's SVProgressHUD.