20 libraries for a spectacular iOS application

Of the huge number of iOS libraries, it makes little sense to make any ratings. Therefore, we simply present twenty spectacular / useful tools for those who write applications for Apple gadgets.

All animations are links to their full-sized versions.

EDISON Software - web-development

The translation was made with the support of EDISON.

We are engaged completion and maintenance of sites on 1C-Bitrix, and Android and iOS mobile app development.

Part I. 5 iOS libraries to improve the user interface of your project (original)

I.1. Gmenu

Start with Gmenupowerful library created in Swift 5.1 and implemented using SwiftUI. This is a redesigned menu created for the Gmail application, but it can be easily integrated into your project!

Starting from the button in the top search bar, this library displays a menu with large icons and scrolls the lines (in tabular form) down.

I.2. ImageViewer.swift

ImageViewer.swift Is an easy-to-use library used for image galleries.

Supports “night” mode, landscape orientation, drag and drop.

I.3. Sidemenu

Sidemenu – side menu with customizable controls. Can be implemented in a storyboard or programmatically, eight different styles of animation are available.

Configurable, supported by a swipe gesture to switch between side menus in both directions.

I.4. SPPermissions

SPPermissions – An API requesting permission from a user. Three different modes: list, dialog, and native.

The Apple-style interface supports iPhone, iPad, night mode and tvOS.

Supported permission requests: • Camera• Photo library• Notifications• Locations• Microphone• The calendar• Contacts• Movement• Media• Voice messages• bluetooth

I.5. SPStorkController

Finally, SPStorkController – A controller created in Swift, similar to the Apple Music, Mail and Podcast applications.

It simply adds a close button to the left of the navigation bar and an arrow in the middle.

Part II 5 iOS libraries for your next application (original)

II.1. PhoneNumberKit

For seed – PhoneNumberKit, a lightweight iOS library, fully created in Swift 5.0, to analyze, format and verify international phone numbers.

Indeed, it is easy to use – only such lines of code are needed for work:

import PhoneNumberKit
let phoneNumberKit = PhoneNumberKit()

do {
    let phoneNumber = try phoneNumberKit.parse("+39 3 12 542644")
    let phoneNumberCustomDefaultRegion = try phoneNumberKit.parse("+39 23 2245 23442", withRegion: "IT", ignoreType: true)

catch {
    print("Generic parser error")

This library also includes beautiful PhoneNumberTextFieldwhich can be configured in the following ways:

  • withFlag will show the country flag for the current region. The flag will be displayed on the left side of the text box.
  • withExamplePlaceholder will use the attribute attributePlace to show example number for currentRegion.

II.2. DateScrollPicker

DateScrollPicker – Fully customizable date view with select function written in Swift 5.

This calendar contains a collection with endless date cells and an animated selection that you can customize by choosing your own font and color.

For example, it is easy to adjust the number of days displayed, mark the date format, change the font / color, and configure many other parameters.

II.3. PostalCodeValidator

PostalCodeValidator It is a validator for zip codes, supporting more than 200 regions.

Just a few lines of code to work:

import Foundation
import PostalCodeValidator

if let validator = PostalCodeValidator(locale: .current) { // United States (IT)
    validator.validate(postalCode: "43100")) // true

    validator.validate(postalCode: "123456789")) // false

II.4. liquid-swipe

liquid-swipe – easy to use control swipe-container, which can be used in your application – for example, for the first run of the textbook or for adaptation.

To use it, you must create an instance of the class LiquidSwipeContainerController from a storyboard or code, and then set the data source according to the class LiquidSwipeContainerDataSource.

II.5. Floatingpanel

Finally in this section, Floatingpanel – A clean and easy floating-panel user interface for iOS apps like Apple Maps.

The library offers many design settings, for example, a capture marker, layout of a capture descriptor, filling with content, as well as field sizes and events for gestures. You can also create an additional floating panel for parts.

For more information, there is an official Readme.

Part III. 5 iOS libraries to improve the interface of your application (original)

III.1. BSZoomGridScrollView

Here comes the first thing BSZoomGrid ScrollView, an Swift iOS library that provides a scrollable view of the grid containing the entire array of images with the ability to scale, like an application Apple photos.

The library activates the image selected by the user with a long press and zoom gesture. The interface can also be configured to change the number of columns and rows.

III.2. Bouncylayout

Bouncylayout Is a library that works with everyone UICollectionView and making the cells bounce! Written entirely in Swift, supports horizontal and vertical scrolling.

What you need to do to make money – import BouncyLayout, create an instance of this class and add to your UICollectionView. For instance:

import BouncyLayout
let collectionLayout = BouncyLayout()
UICollectionView(frame: .zero, collectionViewLayout: collectionLayout)

III.3. Gliding collection

Gliding collection Is a beautiful, customizable type of horizontal and vertical scrolling, implemented in UICollectionView.

To use it, you need to create a view controller class, add UIView on the Storyboard and change the class to GlidingCollection, then connect the view to your code using @IBOutletconfigure view controller to GlidingCollectionDatasource and configure the view controller accordingly UICollectionViewDatasource.

If you need more information on how to implement this library, see the “how to useOn github.

III.4. CarLensCollectionViewLayout

CarLensCollectionViewLayout – An easy-to-use collection view layout that allows you to create map-like animations in UICollectionView with a few lines of code!

You can also customize the layout by changing the options available in CarLensCollectionViewLayoutOptions. For instance:

MinimumSpacing – minimum distance between cells.
DecelerationRate – Slow down to scroll.
ShouldShowScrollIndicator – Do I need a scroll indicator.
Item Size – Sets the cell size.

III.5. Hue

And for starters, Hue is a universal utility that you will need to work with color.

With this library it is easy to use hexadecimal color, calculate color properties (such as .isDarkColor or .isBlackOrWhite), apply alpha channels, create gradients, get the blue / green / red component from color, and much more!

More examples – at the official repo.

Part IV 5 iOS libraries that will make the user interface of your application really popular (original)


initially TKSwitcherCollection, a collection of animated control switches.

Four different switches are currently available:
TKSimpleSwitch → Traditional vertical switch.
TKExchangeSwitch → Switch that changes shape when touched.
TKSmileSwitch → Emo switch (sad / funny).
TKLiquidSwitch → Switch with fluid-style animation.


CocoaTextField – A small library for working with text fields. It can be used both programmatically and with storyboards.

The active / inactive color of the prompts, the background color by default or in focus, the colors of borders and errors, etc. If used programmatically, the example below:

let v = CocoaTextField()
v.inactiveHintColor = UIColor(red: 145/255, green: 222/255, blue: 233/255, alpha: 1)
v.activeHintColor = UIColor(red: 777/255, green: 122/255, blue: 187/255, alpha: 1)
v.focusedBackgroundColor = UIColor(red: 200/255, green: 230/255, blue: 250/255, alpha: 1)
v.defaultBackgroundColor = UIColor(red: 250/255, green: 250/255, blue: 250/255, alpha: 1)
v.borderColor = UIColor(red: 239/255, green: 239/255, blue: 239/255, alpha: 1)
v.errorColor = UIColor(red: 231/255, green: 76/255, blue: 60/255, alpha: 0.7)
v.borderWidth = 3
v.cornerRadius = 14


EXPANDING COLLECTION Is a Swift library animating the design of a UI controller.

To use, you need to import expanding_collectionand then create UICollectionViewCellinherited from BasePageCollectionCell. After which it is added FrontView and BackView. Then you can create UIViewControllerinherited from ExpandingViewController, register the cell created in the first step, and add UICollectionViewDataSource.

More information about the implementation can be found. in the official repository.

IV.4 AnimatedCollectionViewLayout

ICollectionView does not have an animated default transition effect when scrolling between items. AnimatedCollectionViewLayout Is a subclass UICollectionViewLayoutwhich adds custom transitions and animations to UICollectionViewwithout affecting existing code!

To use it, you need to import the library into the project. Then create an object AnimatedCollectionViewLayout, configure it animator and assign for UICollectionView.


Finish CollectionView Slanted Layout – another subclass UICollectionViewLayoutallowing you to display slant cells in UICollectionView. Works with everyone UICollectionView, though horizontal, even vertical, with dynamic cell height.

What can be configured: size / direction / angle, scroll direction, line spacing, element size and the ability to exclude the inclination of the first / last cell.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *