- language: Swift
- platform: ios
- device: iphone/ipad
- license: MIT
SwiftEntryKit is compatible with Swift 5 as of release 1.0.0.
SwiftEntryKit is compatible with Swift 4.2 as of release 0.8.1 .
Developers who use lower Swift version should install release 0.7.2.
CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
To integrate SwiftEntryKit into your Xcode project using CocoaPods, specify it in your Podfile:
source 'https://github.com/cocoapods/specs.git'platform :ios, '9.0'use_frameworks!pod 'SwiftEntryKit', '1.2.3'
Then, run the following command:
$ pod install
$ brew update$ brew install carthage
github "huri000/SwiftEntryKit" == 1.2.3
$ brew tap JamitLabs/Accio https://github.com/JamitLabs/Accio.git$ brew install accio
To integrate SwiftEntryKit into your Xcode project using Accio, specify the following in your Package.swift manifest:
After specifying “SwiftEntryKit” as a dependency of the target in which you want to use it, run accio install.
Dark Mode in the Example Project
You can tinker with the display mode using a segmented control on presets screen, forcing light and dark modes. All the presets are dark mode ready, but only some in the example project demonstrate dark mode capabilities.
Swift and Objective-C Interoperability
SwiftEntryKit’s APIs use the Swift language exclusive syntax (enums, associated values, and more). Therefore, SwiftEntryKit cannot be referenced directly from an Objective-C file (.m, .h or .mm).Yet, it is pretty easy to integrate SwiftEntryKit into an Objective-C project using a simple .swift class that is a sort of adapter between SwiftEntryKit and your Objective-C code.This project demonstrates that using Carthage and CocoaPods.
- Banners or pop-ups are called Entries.
- Entries are displayed inside a separate UIWindow (of type EKWindow), so users are able to navigate the app freely while entries are being displayed in a non intrusive manner.
- The kit offers beautiful presets that can be themed with your own colors and fonts.
- Customization: Entries are highly customizable
- Can be positioned either at the top, center, or the bottom of the screen.
- Can be displayed within or outside the screen safe area.
- Can be stylized: have a border , drop-shadow and round corners .
- Their content and the surrounding background can be blurred, dimmed, colored or have a gradient style .
- Transition animations are customizable – entrance, exit and pop (by another entry).
- The user interaction with the entry or the screen can be intercepted.
- Entries can be enqueued or override previous entries using the precedence attribute.
- Each entry has a display priority attribute. That means that it can be dismissed only by other entry with an equal or higher priority.
- Presets support accessibility.
- Entries have an optional rubber banding effect while panning.
- Entries can be optionally dismissed using a simple swipe gesture .
- Entries can be optionally injected with lifecycle events : will and did appear/disappear.
- The status bar style is settable for the display duration of the entry.
- Supports navigation controllers & custom views as well!