Top 10 Trending iOS Libraries In December

Explore the offerings by the iOS community during the last month of the decade

Anupam Chugh
Jan 2 · 5 min read
Photo by Caspar Camille Rubin on Unsplash

2019 gave rise to plenty of new interesting iOS libraries, and the last month was no different. While some were inspired by Dribbble designs, there were many that leveraged the SwiftUI framework and the classic UIKit to come up with amazing UI/UX based libraries that will improve the look of your iOS applications by leaps and bounds.

Without wasting any more time, here’s a tour through ten open-source iOS libraries that stood out during December 2019.


1. CollectionViewPagingLayout

To start off, we have a library that customizes the UICollectionViewLayout to allow you to transform cells as you scroll through. By conforming to the TransformableView protocol, you get a hold of a progress value as you scroll through the cells, thereby allowing you to customize the cell during the transitions.

Here’s an example of how a simple transformation is done once you’ve imported and set the CollectionViewPagingLayout as the layout of your CollectionView:

extension MyCollectionViewCell: TransformableView {
func transform(progress: CGFloat) {
let transform = CGAffineTransform(translationX: bounds.width/2 * progress, y: 0)
let alpha = 1 - abs(progress)

contentView.subviews.forEach { $0.transform = transform }
contentView.alpha = alpha
}
}

2. SpotlightSearch

Next, we have an awesome SwiftUI library that allows you to replicate the spotlight search experience seen in macOS in your iOS applications. Written completely using SwiftUI and Combine, this library aims to provide an easy UI/UX for search functionalities with a simple-to-use API.


3. InteractiveView

A fluid interactive interface library that aims to provide frictionless user experience by making the views feel responsive, interruptible, and redirectable on user actions. This library is handy if you’re looking to make your user interface responsive and the user experience smooth.


4. PrioritizedTabBar

Here’s an implementation of a custom TabBar for a Dribbble Design that showcases a prioritized layout of the UITabBar buttons with an indicator badge highlighting the currently active tab bar item. To use this in your application, all you need to do is install the pod PrioritizedTabBar.


5. MBVideoPlayer

Next, we have a video player-based library built on top of the AVQueuePlayer with a custom header, playlist items, play, pause, seek to slider, time, resize to full screen, forward, backward, horizontal, and vertical capabilities. Additionally, it also allows you to set custom configurations, such as seek duration and aspect ratio.

With the support for different orientations, color themes, display thumbnails, and the ability to embed the player in another view, this library has everything a video player needs.


6. GMenu

Another excellent SwiftUI-based implementation of a redesigned Gmail menu in iOS that uses all the common tools of the latest declarative UI framework.


7. SwiftPlot

Next up, we have a cross-platform library for data visualization that not only works on iOS and macOS but also supports Windows and Linux OS, alongside Jupyter Notebook. A sample to create a simple line graph is given below:

import SwiftPlot
import AGGRenderer

let x:[Float] = [10,100,263,489]
let y:[Float] = [10,120,500,800]

var agg_renderer: AGGRenderer = AGGRenderer()
var lineGraph = LineGraph<Float,Float>(enablePrimaryAxisGrid: true)
lineGraph.addSeries(x, y, label: "Plot 1", color: .lightBlue)
lineGraph.plotTitle.title = "SINGLE SERIES"
lineGraph.plotLabel.xLabel = "X-AXIS"
lineGraph.plotLabel.yLabel = "Y-AXIS"
lineGraph.plotLineThickness = 3.0
lineGraph.drawGraphAndOutput(fileName: filePath+"agg/"+fileName, renderer: agg_renderer)

Hop onto the GitHub repository to try out the library, and refer to the complete API documentation to look under the hood and see how this library supports displaying graphs in notebooks.


8. StackableTableView

Here’s a library that provides a custom implementation of the TableView component of the UIKit. It allows you to stack up an array of views as the header and footer of the UITableView by leveraging the powerful UIStackView class.


9. SOPullUpView

Commonly seen in Google Maps, this library aims at providing a similar easy-to-use pull gesture on your Views — including TableView, CollectionViews, or any child views.

All it requires is setting up the SOPullUpView instance on the desired view by using the method pullUpControl.setupCard(from: view) and conforming to the SOPullUpViewDataSource . The protocol provides methods to tweak the height of the view in a collapsed state.


10. FancyScrollView

Last but not least, we have an awesome SwiftUI implementation of a ScrollView with a few extra perks. It supports parallax, non-parallax, sticky headers, blur, and effects commonly seen in Apple’s stock applications — like the App Store and Music.

The following illustration showcases Parallax + Sticky:


Conclusion

We explored a range of libraries that were released in the month of December 2019. Certainly, the end of the year had a lot of surprises and interesting new releases for iOS developers. From SwiftUI to cross-platform graphs and custom collection view layouts, we have it all covered.

That’s it for this one. If you liked this edition, do check out the November edition as well.

Better Programming

Advice for programmers.

Anupam Chugh

Written by

iOS Developer exploring the depths of ML and AR on Mobile. Loves writing about thoughts, technology and code. Blogging weekly at iowncode.com

Better Programming

Advice for programmers.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade