LNPopupController is an open source UI component from Leo Natan inspired by Apple’s Music and Podcasts apps allowing you to present view controllers as a popup of another view controller.
Attached to the popup view is a content view that can be brought in with a sliding gesture or a tap. The look is modernized for iOS 10, and the popup view can be customized with UIAppearance.
This animation from the readme shows a popup, and slide-in view created with LNPopupController:
You can find LNPopupController on Github here.
A nice Music app inspired UI component.
iOSMath is an open source component from Kostub Deshmukh for displaying math equations in iOS applications within a UILabel type class.
Equations in iOSMath are created using the popular LaTeX mathematics markup format and the following formula types are supported by the library according to the readme:
- Simple algebraic equations
- Fractions and continued fractions
- Exponents and subscripts
- Trigonometric formulae
- Square roots and n-th roots
- Calculus symbos – limits, derivatives, integrals
- Big operators (e.g. product, sum)
- Big delimiters (using \left and \right)
- Greek alphabet
- Combinatorics (\binom, \choose etc.)
- Geometry symbols (e.g. angle, congruence etc.)
- Ratios, proportions, percents
- Math spacing
- Overline and underline
- Math accents
- Equation alignment
- Most commonly used math symbols
Here is an image from the readme showing a formula drawn using iosMath:
You can find iosMath on Github here.
A great component for drawing math formulas.
Malert is an open source Swift based alert view component from Vitor Mesquita featuring a wide variety of customizations.
With Malert you can easily display your alert views with images, form fields, and multiple buttons to make unique alerts. You can also customize the animations, colors, fonts, and queue a series of alerts.
BUttons included within the alert view can also be customized.
These snippets from the readme show the customizable attributes of views and buttons created with Malert:
var malertAppearance = MalertView.appearance()
<pre><code>malertAppearance.backgroundColor : UIColor = .white
malertAppearance.cornerRadius : CGFloat = 6
malertAppearance.textColor : UIColor = .black
malertAppearance.textAlign : NSTextAlignment = .left
malertAppearance.buttonsAxis : UILayoutConstraintAxis = .vertical
malertAppearance.margin : CGFloat = 0
malertAppearance.titleFont : UIFont = UIFont()
malertAppearance.buttonsMargin : CGFloat = 0
malertAppearance.buttonsSpace : CGFloat = 0
//Defaults attr malertButton
var malertButtonAppearance = MalertButton.appearance()
malertButtonAppearence.tintColor : UIColor = .black
malertButtonAppearance.backgroundColor : UIColor = .clear
malertButtonAppearance.height : CGFloat = 33
malertButtonAppearance.separatorColor : UIColor = UIColor(white: 0.8, alpha: 1)
This animation from the readme shows a custom alert view with two buttons:
You can find Malert on Github here.
A nice custom Swift based alert view component.
RATReeView is an open source iOS and tvOS UI component built on UITableView for displaying tree data structures easily from Rafal Augustyniak.
RATreeView will automatically create nested table views with tree data complete with built in editing features. UIRefreshControl is supported by RATReeView for pull-to-refresh.
HEre’s an animation from the readme showing RATreeView in action:
You can find RATreeView on Github here.
A great component for displaying nested data.
ASHorizontalScrollView – Open Source iOS UI Component For Easily Creating Horizontal Scrolling Views
ASHorizontalScrollView is an open source component allowing you to easily create horizontal scrolling views easily from a set of views.
ASHorizontalScrollView can be used where the subviews to be used in the scroll view are the same size and automatically calculates how to display the subviews.
This animation from the readme shows ASHorizontalScrollView in action:
You can find more about ASHorizontalScrollView on Terence Chen’s blog.
You can find the source code repo for ASHorizontalScrollView on Github here.
A handy component for easily making horizontal scrolling views.