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

Stay in touch
Sponsored with ❤️ by Instabug
Instabug: Understand how your app is doing with real-time contextual insights from your users
Instabug

Get all the logs you need and fix bugs, crashes, and other issues in minutes instead of days. With Instabug you will automatically receive device data, network logs, and reproduction steps with every bug and crash report. It only takes a line of code to integrate and is perfect for teams that are now working remotely. See more detailed features comparison and try Instabug for free here.

Three20 Photo Viewer screenshot

Three20 Photo Viewer

Photo viewer control, like in the Apple Photos app.

Learn More Open in Xcode
Three20 Photo Thumbnails screenshot

Three20 Photo Thumbnails

Duplicates the look and feel of Apple's Photos apps.

Learn More Open in Xcode
DDPageControl screenshot

DDPageControl

A replacement for UIPageControl that lets you customize the size, spacing and color of the page control dots.

Learn More Open in Xcode
MTStatusBarOverlay screenshot

MTStatusBarOverlay

MTStatusBarOverlay provides a custom status bar overlay window, as seen in apps like Reeder.

Learn More Open in Xcode
AQGridView screenshot

AQGridView

Use this to create Springboard-like user interfaces: "AQGridView is an attempt to create something similar to NSCollectionView on the iPhone."

Learn More Open in Xcode
MBProgressHUD screenshot

MBProgressHUD

An easy to use progress indicator for iOS that includes both fixed and indeterminate styles.

Learn More Open in Xcode
ELCTextFieldCell screenshot

ELCTextFieldCell

"When developing apps we have found that many times a form of some type is required. This is common in Registration forms, contact forms, feedback forms, etc. The problem was writing the same basic...

Learn More Open in Xcode
Core Plot screenshot

Core Plot

Core Plot is a plotting framework for Mac OS X and iOS. It provides 2D visualization of data, and is tightly integrated with Apple technologies like Core Animation, Core Data, and Cocoa Bindings.

Learn More Open in Xcode
BCTabBarController screenshot

BCTabBarController

A ground-up rewrite of UITabBarController that adds: "A cool little arrow that slides around to indicate the current tab; support for all orientations; same height as a standard UIToolbar;" and opt...

Learn More Open in Xcode
OBSlider screenshot

OBSlider

A drop-in replacement for UISlider that adds variable-speed scrubbing.

Learn More Open in Xcode
TapKu Graph screenshot

TapKu Graph

A gorgeous graphing view.

Learn More Open in Xcode
TapKu Coverflow screenshot

TapKu Coverflow

A Coverflow replacement built entirely with public APIs!

Learn More Open in Xcode
TapKu Alerts with Images screenshot

TapKu Alerts with Images

Alert overlays that can contain text and images.

Learn More Open in Xcode
TapKu Empty Page screenshot

TapKu Empty Page

An easy-to-use empty page indicator

Learn More Open in Xcode
TapKu Calendar screenshot

TapKu Calendar

A look-a-like version of Apple's calendar control, as seen in the official Apple Calendar app.

Learn More Open in Xcode
Center Button in Tab Bar screenshot

Center Button in Tab Bar

As seen in Instagram, Path, DailyBooth, and other apps, place a button in the center of a UITabBar to let the user perform some action that is central to the application's purpose.

Learn More Open in Xcode
Animated Tab Bar Selection Indicator screenshot

Animated Tab Bar Selection Indicator

As seen in Twitter for iPhone (née Tweetie 2), select a tab from the tab bar, and a small triangular selection indicator slides into place above the tab.

Learn More Open in Xcode
Vertically swipe between pages of content screenshot

Vertically swipe between pages of content

As seen in the Reeder iPhone app, pull to see the title of the next page of content. Pull far enough and the next page slides in to replace the current page.

Learn More Open in Xcode
Pull-to-Refresh TableView screenshot

Pull-to-Refresh TableView

As pioneered in Twitter for iPhone (née Tweetie 2), pull the table view down to expose a refresh control. Keep pulling and release, and the TableView will reload.

Learn More Open in Xcode