1. Products
  2.   Presentation
  3.   Swift
  4.   SwiftEntryKit

Free Swift Presentation Library for iOS Applications

Open Source Swift Library to Easily Display Pop-ups, Content, Banner and Notifications like vVews within your iOS Apps.

SwiftEntryKit is a very useful open source library that provides software developers with a lightweight and customizable way to create iOS applications with ease. It was created by Roman Sakhnievych in 2018 and has since gained popularity among iOS developers due to its flexibility and ease of use. Notifications are a crucial component of modern mobile applications. They allow developers to inform users about important events or updates, such as new messages, app updates, or promotions. However, creating custom notifications can be a challenging task, especially for developers with limited experience in iOS development.

The open source library SwiftEntryKit aims to simplify this process by providing developers with a pre-built notification system that can be easily customized to match the look and feel of their application. The library has provided a number of customization options for the notification's behavior. Software developers can choose to have the notification automatically dismiss after a certain amount of time, or allow the user to dismiss it manually. They can also specify how the notification should be presented to the user, such as whether it should appear at the top or bottom of the screen.

In conclusion, SwiftEntryKit library is a powerful and flexible library for creating pop-up views in iOS applications. Its extensive customization options, support for complex animations, and compatibility with multiple iOS versions make it an excellent choice for developers who want to create custom pop-ups without spending a lot of time on implementation details. If you're looking for an easy-to-use and feature-rich library for creating pop-up views in your iOS app, SwiftEntryKit is definitely worth checking out.

Previous Next

Getting Started with SwiftEntryKit

The recommend way to install SwiftEntryKit Swift library is using CocoaPods. Please use the following command for a smooth installation.

Install SwiftEntryKit via CocoaPods

$ gem install cocoapods 

Install SwiftEntryKit via GitHub

$ git clone https://github.com/huri000/SwiftEntryKit.git 

You can download the directly from GitHub

Manage Animations via Swift API

The open source Swift API has included support for adding and managing animation into pop-up views and presentations inside Swift applications. The library also includes support for complex animations such as parallax effects, blur effects, and 3D transforms. These animations can help make pop-up views more engaging and immersive, and can help draw attention to important information. The following examples demonstrates translation from top with spring, scale in and even fade in as a single entrance animation.

How to Show Translation from Top via Swift API?/h3>
attributes.entranceAnimation = .init(
                 translate: .init(duration: 0.7, anchorPosition: .top, spring: .init(damping: 1, initialVelocity: 0)), 
                 scale: .init(from: 0.6, to: 1, duration: 0.7), 
                 fade: .init(from: 0.8, to: 1, duration: 0.3))

Create New Pop-up Views via Swift API

The open source Swift Presentation library makes it easy for software developers to create New Pop-up Views inside their iOS applications. It allows displaying banners or pop-ups inside a separate UIWindow, so users are able to navigate the app freely while entries are being displayed in a non-intrusive manner. The pop-ups or other entries are highly customizable and can be easily positioned either at the top, center, or the bottom of the screen. It is also possible to display it within or outside the screen safe area and can apply different styles to it. It is also possible to set display priority and display duration with ease.

How to Set Display Priority inside Swift Applications?

let highPriorityAttributes = EKAttributes()
highPriorityAttributes.precedence.priority = .high

let normalPriorityAttributes = EKAttributes()
normalPriorityAttributes.precedence.priority = .normal

// Display high priority entry
SwiftEntryKit.display(entry: view1, using: highPriorityAttributes)

// Display normal priority entry (ignored!)
SwiftEntryKit.display(entry: view2, using: normalPriorityAttributes)

// view2 won't be displayed!

How to Generate Top Floating Entry & Set Properties via Swift API?

var attributes = EKAttributes.topFloat
attributes.entryBackground = .gradient(gradient: .init(colors: [EKColor(.red), EKColor(.green)], startPoint: .zero, endPoint: CGPoint(x: 1, y: 1)))
attributes.popBehavior = .animated(animation: .init(translate: .init(duration: 0.3), scale: .init(from: 1, to: 0.7, duration: 0.7)))
attributes.shadow = .active(with: .init(color: .black, opacity: 0.5, radius: 10, offset: .zero))
attributes.statusBar = .dark
attributes.scroll = .enabled(swipeable: true, pullbackAnimation: .jolt)
attributes.positionConstraints.maxSize = .init(width: .constant(value: UIScreen.main.minEdge), height: .intrinsic)

let title = EKProperty.LabelContent(text: titleText, style: .init(font: titleFont, color: textColor))
let description = EKProperty.LabelContent(text: descText, style: .init(font: descFont, color: textColor))
let image = EKProperty.ImageContent(image: UIImage(named: imageName)!, size: CGSize(width: 35, height: 35))
let simpleMessage = EKSimpleMessage(image: image, title: title, description: description)
let notificationMessage = EKNotificationMessage(simpleMessage: simpleMessage)

let contentView = EKNotificationMessageView(with: notificationMessage)
SwiftEntryKit.display(entry: contentView, using: attributes)