6421 open source UI components
for iOS, iPadOS, macOS, tvOS, and watchOS.

DGActivityIndicatorView screenshot

DGActivityIndicatorView

DGActivityIndicatorView is a great way to make loading spinners in your application look nicer. It contains 6 different indicator view styles.

View Control

JMActionSheetDescription screenshot

JMActionSheetDescription

ActionSheet and UIActivityViewController replacement, using a descriptor component.

View Control

DZVideoPlayerViewController screenshot

DZVideoPlayerViewController

iOS Video Player control with playback controls, remote control center commands, background playback, now playing info updates. Implemented with AVPlayer, supports both online and offline videos. Highly customizable with Interface Builder.

View Control

ZSWTappableLabel screenshot

ZSWTappableLabel

ZSWTappableLabel is a UILabel subclass for links which are tappable, long-pressable, 3D Touchable, and VoiceOverable. It has optional highlighting behavior, and does not draw text itself. Its goal is to be as minimally different from UILabel as possible, and only executes additional code when the user is interacting with a tappable region.

View Control

MCMHeaderAnimated screenshot

MCMHeaderAnimated

MCMHeaderAnimated allows you to add an animation between list and detail views.

View Control

Portal Transition screenshot

Portal Transition

Inspired by Apple's keynote portal animation, it is an iOS implementation of Portal like UIViewController transition.

View Control

Cutaway screenshot

Cutaway

Even for moderately complex apps, it soon becomes clear that having a single storyboard file for everything gets unmanageable pretty quickly. As a solution, we can have multiple storyboards and instantiate view controllers manually, yet not having to write code to perform transitions is pretty great. The best of both worlds would be to have segues that can cross storyboard boundaries. Xcode 7 (announced at WWDC 2015) allows just that, but it seems likely that this feature will be limited to iOS 9. If you still need to support iOS 7+, fret not, because now there is Cutaway. The goals for this project are: - The storyboard is the source of truth: all information for segue destinations is available in the storyboard file itself. - No segue subclassing: any segue type can link to a different storyboard (including embed segues, which can't be subclassed). - No child view controllers: the destination view controller you get in a segue is exactly what you expected, not wrapped by any container. - Transparently support unwind segues. Cutaway achieves these, and while not 100% future-proof (it uses method swizzling in the UIStoryboard class), it tries to do this in the least intrusive way possible. Once you're ready to migrate to iOS 9 exclusively, all you need to do is replace the placeholder view controllers with native storyboard references and reconnect your segues.

View Control

MaterialDesignColor / Google Material Design Colors for Swift screenshot

MaterialDesignColor / Google Material Design Colors for Swift

Color library for Swift. Currently supports GoogleMaterialDesignColor

View Control

KSToastView screenshot

KSToastView

Simple Popup Notification inspired by Android Toast Widget.

View Control

LGSemiModalNavController screenshot

LGSemiModalNavController

A UINavigationController subclass that presents itself a dynamic amount in a view controller using the UIViewControllerAnimatedTransitioning protocol.

View Control