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.
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
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:
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
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 PhoneNumberTextField
which 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 attributeattributePlace
to show example number forcurrentRegion
.
II.2. DateScrollPicker
DateScrollPicker – Fully customizable date view with select function written in
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
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 @IBOutlet
configure 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)
IV.1.TKSwitcherCollection
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.
IV.2.CocoaTextField
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
IV.3.EXPANDING COLLECTION
EXPANDING COLLECTION Is a Swift library animating the design of a UI controller.
To use, you need to import expanding_collection
and then create UICollectionViewCell
inherited from BasePageCollectionCell
. After which it is added FrontView
and BackView
. Then you can create UIViewController
inherited 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 UICollectionViewLayout
which adds custom transitions and animations to UICollectionView
without 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
.
IV.5.CollectionViewSlantedLayout
Finish CollectionView Slanted Layout – another subclass UICollectionViewLayout
allowing 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.