Skip to content

A collaborative list of awesome for iOS developers. Include quick preview.

License

Notifications You must be signed in to change notification settings

ivanvorobei/awesome-ios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome iOS

If you know a good framework or you author of framework, feel free to add it to this project. All added libraries appear on the site awesome-ios.com. To add library, see instructions.

If you like the project, don't forget to put star ★ and follow me on GitHub:

Navigate

Content

Activity Indicator

A view that shows that a task is in progress. Open Previews

  • NVActivityIndicatorView - Collection of nice loading animations.
  • LoaderUI - Collection of nice loading animations, implemented in SwiftUI.
  • SwiftSpinner - A beautiful activity indicator and modal alert written in Swift (originally developed for my app DoodleDoodle) Using blur effects, translucency, flat and bold design - all iOS 8 latest and greatest.
  • GradientLoadingBar - A customizable animated gradient loading bar.
  • LiquidLoader - Spinner loader components with liquid animation.
  • ParticlesLoadingView - A customizable SpriteKit particles animation on the border of a view.
  • DSGradientProgressView - Simple and customizable animated progress bar written in Swift.

Skeleton

While the processes are working, usually developers place a loading view to show users that something is going on and prepare them for which contents are waiting. Open Previews

  • SkeletonView - An elegant way to show users that something is happening and also prepare them to which contents they are awaiting.
  • LoadingShimmer - An easy way to add a shimmering effect to any view with just one line of code. It is useful as an unobtrusive loading indicator

Action Sheet

An action sheet is a specific style of alert that presents two or more choices related to the current context. Open Previews

  • PopMenu - A fully customizable popup style menu for iOS.
  • SPPermissions - Ask permissions on Swift. Available List, Dialog & Native interface. Can check state permission.
  • BulletinBoard - BulletinBoard is an iOS library that generates and manages contextual cards displayed at the bottom of the screen. It is especially well suited for quick user interactions such as onboarding screens or configuration.
  • alerts-and-pickers - Advanced usage of UIAlertController and pickers based on it: Telegram, Contacts, Location, PhotoLibrary, Country, Phone Code, Currency, Date.
  • CFAlertViewController - It is a highly configurable iOS library which allows easy styling with built in styles as well as extra header and footer views so that you can make extremely unique alerts and action sheets.
  • Hokusai - A Swift library to provide a bouncy action sheet.
  • TKSwarmAlert - Animated alert library like Swarm app.
  • DOAlertController - Simple Alert View written in Swift, which can be used as a UIAlertController.

Alert

Alerts convey important information related to the state of your app or the device, and often request feedback. Open Previews

  • SPAlert - Native alert from Apple Music & Feedback. Contains Done, Heart & Message and other presets. Support SwiftUI.
  • SPIndicator - Floating indicator, mimicrate to indicator which appear when silent mode turn on / off. Support large texts.
  • SCLAlertView-Swift - Animated Alert View written in Swift, which can be used as a UIAlertView or UIAlertController replacement.
  • Loaf - A Swifty Framework for Easy iOS Toasts.
  • PMAlertController - Great and customizable alert that can substitute UIAlertController.
  • Dodo - A message bar for iOS written in Swift.
  • SwiftMessages - A very flexible message bar for iOS written in Swift.
  • NotificationBanner - The easiest way to display highly customizable in app notification banners in iOS.
  • SwiftEntryKit - SwiftEntryKit is a presentation library for iOS. It can be used to easily display overlays within your iOS apps.
  • DOAlertController - Simple Alert View written in Swift, which can be used as a UIAlertController.
  • CFAlertViewController - It is a highly configurable iOS library which allows easy styling with built in styles as well as extra header and footer views so that you can make extremely unique alerts and action sheets.
  • Loafjet - Loafjet is a lightweight custom framework used to add Loafs, Dash Board, Popup Card, and Loading indicator in your Swift project.

Animation

List of animations. Open Previews

  • Lottie - Lottie is a mobile library for Android and iOS that natively renders vector based animations and art in realtime with minimal code.
  • TweenKit - Animation library for iOS in Swift.
  • Ease - Ease is an event driven animation system that combines the observer pattern with custom spring animations as observers.
  • fluid-interfaces - Natural gestures and animations inspired by Apple's WWDC18 talk "Designing Fluid Interfaces".

Effects

List of ready-use effects. Open Previews

  • SAConfettiView - Confetti
  • SPPerspective - Animatable widgets from iOS 14. Same animation for transform and shadow. Customisable duration, perspective and shadow also.
  • MPParallaxView - Apple TV Parallax effect in Swift. Rotate view using touch or accelerometer.
  • SPConfetti - Show the confetti only when the user is having fun, and if not having fun, don't show it.

Transition

List of animation transitions. Open Previews

  • Material - Material's animation.
  • IBAnimatable - Design and prototype customized UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable.
  • ViewAnimator - ViewAnimator brings your UI to life with just one line.
  • CKWaveCollectionViewTransition - Cool wave like transition between two or more UICollectionView.
  • SPStorkController - Now playing controller from Apple Music, Mail & Podcasts Apple's apps.
  • Hero - Elegant transition library for iOS & tvOS.
  • Motion - Seamless animations and transitions
  • Transition - Easy interactive interruptible custom ViewController transitions.
  • StarWars.iOS - This component implements transition animation to crumble view-controller into tiny pieces.
  • BubbleTransition - A custom modal transition that presents and dismiss a controller with an expanding bubble effect.
  • ElasticTransition - A UIKit custom transition that simulates an elastic drag. Written in Swift.
  • SPLarkController - Custom transition between controllers. Settings controller for your iOS app.
  • JTMaterialTransition - An iOS transition for controllers based on material design.
  • FloatingPanel - A clean and easy-to-use floating panel UI component for iOS.
  • liquid-swipe - Transition simulates liquid when swipe to the side.
  • DropdownTransition - Simple and elegant dropdown transition for iOS.

Calendar

List of components and ready-use calendars. Open Previews

  • CalendarKit - Swift calendar UI library for iOS, iPadOS and Mac Catalyst. It looks similar to the Apple Calendar app out-of-the-box, while allowing customization when needed.
  • JTAppleCalendar - The Unofficial Apple iOS Swift Calendar View. Swift calendar Library. iOS calendar Control. 100% Customizable.
  • DateTimePicker - A nicer iOS UI component for picking date and time.
  • CVCalendar - A custom visual calendar for iOS 8+ written in Swift.

Cards

List of cards. Open Previews

  • Cards - Awesome iOS 11 appstore cards in swift 5.
  • Koloda - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS.
  • TisprCardStack - Swipe able, customizable card stack view, Tinder like card stack view based on UICollectionView. Cards UI.
  • CardParts - A reactive, card-based UI framework built on UIKit for iOS developers.
  • folding-cell - Expanding content cell with animation inspired by folding paper card material design.
  • cardslider - Cardslider is a design UI controller that allows you to swipe through cards with pictures and accompanying descriptions.
  • expanding-collection - ExpandingCollection is an animated material design UI card peek/pop controller.
  • VerticalCardSwiper - A marriage between the Shazam Discover UI and Tinder, built with UICollectionView in Swift.

Button

A control that executes your custom code in response to user interactions. Open Previews

  • DOFavoriteButton - Cute Animated Button written in Swift. It could be just right for favorite buttons.
  • TVButton - Recreating the cool parallax icons from Apple TV as iOS UIButton in Swift.
  • TransitionButton - UIButton sublass for loading and transition animation.
  • WCLShineButton - This is a UI lib for iOS. Effects like shining.
  • ButtonProgressBar-iOS - A small and flexible (well documented) UIButton subclass with animated loading progress, and completion animation.
  • LiquidFloatingActionButton - Material Design Floating Action Button in liquid state.
  • Loady - This is a small library to show loading and indicator in UIButton, with fully customizable styles. there are 6 different styles, you can set the colors from interface builder or programmatically.
  • CocoaButton - Interactive UIButton with loading capability.
  • QBIndicatorButton - Simple way to display activity indicator inside the button.

Segment Control

A control that consists of multiple segments, each segment functioning as a discrete button. Open Previews

Slider

A control for selecting a single value from a continuous range of values. Open Previews

  • HGCircularSlider - A custom reusable circular / progress slider control for iOS application.
  • AGCircularPicker - Helpful component for creating a controller aimed to manage any calculated parameter.
  • Fluid Slider - A slider widget with a popup bubble displaying the precise value selected. Swift UI library.
  • balloon-picker - Custom picker view with floating balloon animation.
  • GMStepper - A stepper with a sliding label in the middle.
  • GaugeSlider - Highly customizable GaugeSlider designed for a Smart Home app. Featured at Medium.

Switch

A control that offers a binary choice, such as on/off. Open Previews

  • TKSwitcherCollection - An animation switch collection.
  • RAMPaperSwitch - Swift material design UI module which paints over the parent view when the switch is turned on. iOS library.
  • AIFlatSwitch - Nicely animated flat design switch alternative to UISwitch.
  • MJMaterialSwitch - A Customizable Switch UI for iOS, Inspired from Google's Material Design in Swift.

Text Field

An object that displays an editable text area in your interface. Open Previews

  • Reel Search - UI controller that allows you to choose options from a list. Swift UI library.
  • SkyFloatingLabelTextField - A beautiful and flexible text field control implementation of Float Label Pattern. Written in Swift.
  • TextFieldEffects - Custom UITextFields effects inspired by Codrops, built using Swift.
  • SearchTextField - UITextField subclass with autocompletion suggestions list.
  • AnimatedTextInput - Animated UITextField and UITextView replacement for iOS.
  • CocoaTextField - Apple UITextField created according to the Material.IO guidelines of 2019. Featured at Medium.

Text View

A scrollable, multiline text region. Open Previews

Collection View

An object that manages an ordered collection of data items and presents them using customizable layouts. Open Previews

  • expanding-collection - ExpandingCollection is an animated material design UI card peek/pop controller. iOS library.
  • gliding-collection - Gliding Collection is a smooth, flowing, customizable decision for a UICollectionView Swift Controller. iOS library.
  • cardslider - Cardslider is a design UI controller that allows you to swipe through cards with pictures and accompanying descriptions.

Layout

An object that manages an ordered collection of data items and presents them using customizable layouts. Open Previews

Controller

An object that manages a view hierarchy for your UIKit app. Open Previews

  • liquid-swipe - Transition simulates liquid when swipe to the side
  • FloatingPanel - A clean and easy-to-use floating panel UI component for iOS.
  • SPLarkController - Settings screen with buttons and switches
  • SPPermissions - Ask permissions on Swift. Available List, Dialog & Native interface. Can check state permission.
  • SPStorkController - Now playing controller from Apple Music, Mail & Podcasts Apple's apps.
  • paper-onboarding - PaperOnboarding is a material design UI slider. Swift UI library.
  • preview-transition - SPreviewTransition is a simple preview gallery UI controller with animated tranisitions. Swift UI library.
  • folding-cell - FoldingCell is an expanding content cell inspired by folding paper material

Messages

Replicate messages controller with message views. Open Previews

Label

A view that displays one or more lines of informational text. Open Previews

  • LTMorphingLabel - Graceful morphing effects for UILabel written in Swift.
  • GlitchLabel - Glitching UILabel for iOS.
  • CountdownLabel - Simple countdown UILabel with morphing animation, and some useful function.
  • MarqueeLabel - A drop-in replacement for UILabel, which automatically adds a scrolling marquee effect when the label's text does not fit inside the specified frame.
  • CoreML-in-ARKit - Simple project to detect objects and display 3D labels above them in AR. This serves as a basic Template for an ARKit project to use CoreML.
  • NumberMorphView - A label view for displaying numbers which can transition or animate using a technique called number tweening or number morphing.
  • ActiveLabel.swift - UILabel drop-in replacement supporting Hashtags.

Menu

List of menus. Open Previews

  • GuillotineMenu - Our Guillotine Menu Transitioning Animation implemented in Swift reminds a bit of a notorious killing machine
  • circle-menu - CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. Swift UI library.
  • AirBar - UIScrollView driven expandable menu.
  • SPLarkController - Custom transition between controllers. Settings controller for your iOS app.
  • PopMenu - A fully customizable popup style menu for iOS.
  • ContextMenu - An iOS context menu UI inspired by Things 3.
  • Menu - The iOS Menu.
  • Segmentio - Animated top/bottom segmented control written in Swift.
  • Persei - Animated top menu for UITableView, UICollectionView, UIScrollView written in Swift
  • BTNavigationDropdownMenu - The elegant yet functional dropdown menu, written in Swift, appears underneath the navigation bar to display a list of defined items when a user clicks on the navigation title.
  • FlowingMenu - Interactive view transition to display menus with flowing and bouncing effects in Swift.
  • fan-menu - Menu with a circular layout based on Macaw.
  • GooeyTabbar - A gooey effect tabbar.
  • SideMenu - Simple side/slide menu control for iOS, no code necessary! Lots of customization. Add it to your project in 5 minutes or less.

Progress Indicator

A view that depicts the progress of a task over time. Open Previews

  • KDCircularProgress - A circular progress view with gradients written in Swift.
  • FillableLoaders - Completely customizable progress based loaders drawn using custom CGPaths written in Swift.

Tab Bar

A control that displays one or more buttons in a tab bar for selecting between different subtasks, views, or modes in an app. Open Previews

  • animated-tab-bar - RAMAnimatedTabBarController is a Swift UI module library for adding animation to iOS tabbar items and icons. iOS library.
  • CircleBar - A fun, easy-to-use tab bar navigation controller for iOS.
  • Segmentio - Animated top/bottom segmented control written in Swift.
  • adaptive-tab-bar - AdaptiveController is a 'Progressive Reduction' Swift UI module for adding custom states to Native or Custom iOS UI elements. Swift UI component.
  • ColorMatchTabs - This is a Review posting app that let user find interesting places near them.
  • XLPagerTabStrip - Android PagerTabStrip for iOS.
  • Tabman - A powerful paging view controller with interactive indicator bars.
  • SwipeableTabBarController - UITabBarController with swipe interaction between its tabs.

Table View

A view that presents data using rows in a single column. Open Previews

  • paper-onboarding - PaperOnboarding is a material design UI slider. Swift UI library.
  • folding-cell - FoldingCell is an expanding content cell inspired by folding paper material
  • MYTableViewIndex - A pixel perfect replacement for UITableView section index, written in Swift.
  • SwipeCellKit - Swipeable UITableViewCell and UICollectionViewCell based on the stock Mail.app, implemented in Swift.
  • RHPreviewCell - I envied so much Spotify iOS app this great playlist preview cell, I decided to create my own one. Now you can give your users ability to quick check "what content is hidden under your UITableViewCell". Great think is that this Library not requires 3D Touch support from user device
  • HGPlaceholders - Nice library to show placeholders and Empty States for any UITableView or UICollectionView in your project.

Other Projects

I love being helpful. Here I have provided a list of libraries that I keep up to date. For see video previews of libraries without install open opensource.ivanvorobei.by website.
I have libraries with native interface and managing permissions. Also available pack of useful extensions for boost your development process.

Russian Community

Веду каналы об iOS разработке. Один с туториалами и новостями, другой с обзором библиотек.
Со сложной задачей помогут в чате.

Видео-туториалы выклыдываю на YouTube:

Tutorials on YouTube