Convert Figma logo to code with AI

Ramotion logoswift-ui-animation-components-and-libraries

Swift UI libraries, iOS components and animations by @Ramotion

3,684
361
3,684
0

Top Related Projects

A custom reusable circular / progress slider control for iOS application.

📸 Instagram-like image picker & filters for iOS

☠️ An elegant way to show users that something is happening and also prepare them to which contents they are awaiting

A handy collection of more than 500 native Swift extensions to boost your productivity.

Unleashing the real power of Core Data with the elegance and safety of Swift

15,085

Network abstraction layer written in Swift.

Quick Overview

Ramotion/swift-ui-animation-components-and-libraries is a GitHub repository that provides a collection of Swift UI animation components and libraries. It offers a range of pre-built, customizable UI elements and animations that can be easily integrated into iOS applications, helping developers create visually appealing and interactive user interfaces.

Pros

  • Extensive collection of ready-to-use UI components and animations
  • Customizable and easily integrable into existing Swift projects
  • Regularly updated with new components and improvements
  • Well-documented with examples and usage instructions

Cons

  • May increase app size due to additional libraries and assets
  • Some components might require additional customization for specific use cases
  • Learning curve for developers unfamiliar with the library's structure
  • Potential performance impact on older devices with complex animations

Code Examples

  1. Animated Page Control:
import AnimatedPageControl

let pageControl = AnimatedPageControl()
pageControl.numberOfPages = 5
pageControl.currentPage = 0
pageControl.indicatorColor = .gray
pageControl.currentIndicatorColor = .black
view.addSubview(pageControl)
  1. Folding Cell:
import FoldingCell

let cell = FoldingCell()
cell.foregroundView = customForegroundView
cell.containerView = customContainerView
cell.unfold(animated: true)
  1. Expanding Collection:
import ExpandingCollection

let layout = ExpandingCollectionViewLayout()
let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
collectionView.register(ExpandingCollectionViewCell.self, forCellWithReuseIdentifier: "cell")

Getting Started

To use the components in your Swift project:

  1. Add the following to your Podfile:

    pod 'Ramotion/swift-ui-animation-components-and-libraries'
    
  2. Run pod install in your terminal.

  3. Import the desired component in your Swift file:

    import AnimatedPageControl
    import FoldingCell
    import ExpandingCollection
    
  4. Use the components in your view controllers or custom views as shown in the code examples above.

Competitor Comparisons

A custom reusable circular / progress slider control for iOS application.

Pros of HGCircularSlider

  • Focused on a specific UI component, making it easier to implement and customize for circular slider needs
  • Lightweight and less complex, potentially leading to better performance for this particular use case
  • Provides more detailed customization options specifically for circular sliders

Cons of HGCircularSlider

  • Limited to circular slider functionality, while swift-ui-animation-components-and-libraries offers a wider range of UI components
  • May require additional libraries or custom code for other animation needs in a project
  • Less frequent updates and potentially smaller community support compared to the more comprehensive library

Code Comparison

HGCircularSlider:

let circularSlider = HGCircularSlider(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
circularSlider.minimumValue = 0.0
circularSlider.maximumValue = 100.0
view.addSubview(circularSlider)

swift-ui-animation-components-and-libraries (example component):

let animatedButton = RAMAnimatedTabBarItem(title: "Home", image: UIImage(named: "home"), tag: 1)
animatedButton.animation = RAMBounceAnimation()
tabBarController.setViewControllers([UIViewController()], animated: false)
tabBarController.setTabBarItems([animatedButton], animated: false)

Both libraries offer easy-to-use components, but HGCircularSlider focuses on a specific UI element, while swift-ui-animation-components-and-libraries provides a broader range of animated components for various UI needs.

📸 Instagram-like image picker & filters for iOS

Pros of YPImagePicker

  • Focused functionality: Specifically designed for image and video selection/capture
  • Customizable UI: Offers various options to tailor the picker's appearance
  • Multiple media types: Supports both image and video selection

Cons of YPImagePicker

  • Limited scope: Doesn't provide general UI animation components
  • Less versatile: Not suitable for projects requiring diverse UI animations
  • Potentially larger footprint: May include unnecessary features for simple image picking needs

Code Comparison

YPImagePicker:

let picker = YPImagePicker()
picker.didFinishPicking { [unowned picker] items, _ in
    if let photo = items.singlePhoto {
        print(photo.image)
    }
    picker.dismiss(animated: true, completion: nil)
}
present(picker, animated: true, completion: nil)

swift-ui-animation-components-and-libraries:

let animationView = AnimationView(name: "loading")
view.addSubview(animationView)
animationView.play()

Summary

YPImagePicker is a specialized library for image and video selection, offering a customizable UI and support for multiple media types. However, it lacks the versatility of swift-ui-animation-components-and-libraries, which provides a wide range of UI animation components. The choice between the two depends on the specific needs of your project: image/video picking or general UI animations.

☠️ An elegant way to show users that something is happening and also prepare them to which contents they are awaiting

Pros of SkeletonView

  • Focused specifically on skeleton loading animations, providing a more specialized solution
  • Easier to implement for basic skeleton loading scenarios
  • Supports both UIKit and SwiftUI, offering flexibility for different iOS development approaches

Cons of SkeletonView

  • Limited to skeleton loading animations, while swift-ui-animation-components-and-libraries offers a wider range of animation types
  • Less customization options compared to the more comprehensive animation library
  • May require additional libraries for more complex animations beyond skeleton loading

Code Comparison

SkeletonView implementation:

view.showAnimatedGradientSkeleton()

swift-ui-animation-components-and-libraries implementation:

AnimationView(name: "loading")
    .frame(width: 200, height: 200)

Both libraries offer simple ways to add animations, but SkeletonView is more focused on skeleton loading, while swift-ui-animation-components-and-libraries provides a broader range of animation options.

SkeletonView is ideal for projects that primarily need skeleton loading animations, offering a straightforward implementation. On the other hand, swift-ui-animation-components-and-libraries is better suited for projects requiring diverse animation types and more customization options.

A handy collection of more than 500 native Swift extensions to boost your productivity.

Pros of SwifterSwift

  • Comprehensive collection of extensions for Swift types and UIKit
  • Actively maintained with frequent updates and contributions
  • Well-documented with clear usage examples

Cons of SwifterSwift

  • Focuses on utility extensions rather than UI animations
  • May include unnecessary code for projects not using all features
  • Potential for namespace conflicts with custom extensions

Code Comparison

SwifterSwift:

let reversed = "Hello".reversed() // "olleH"
let truncated = "This is a long text".truncated(toLength: 10) // "This is..."
let randomInt = Int.random(between: 1, and: 10)

swift-ui-animation-components-and-libraries:

let animatedButton = FoldingCell()
animatedButton.animate()
let cardView = CardView()
cardView.flipCard()

Summary

SwifterSwift is a comprehensive Swift extension library that provides utility functions for various Swift types and UIKit components. It offers a wide range of convenient methods and properties to simplify common programming tasks.

On the other hand, swift-ui-animation-components-and-libraries focuses specifically on UI animations and custom components, providing ready-to-use animated elements for iOS applications.

While SwifterSwift excels in general-purpose utility functions, swift-ui-animation-components-and-libraries is more suitable for projects requiring advanced UI animations and interactive elements. The choice between the two depends on the specific needs of your project and whether you prioritize utility functions or custom UI animations.

Unleashing the real power of Core Data with the elegance and safety of Swift

Pros of CoreStore

  • Focused on Core Data management, providing a robust and efficient solution for data persistence
  • Offers advanced features like thread-safe operations and automatic migration handling
  • Provides a clean and expressive API for working with Core Data

Cons of CoreStore

  • Limited to Core Data functionality, not offering UI animations or components
  • May have a steeper learning curve for developers new to Core Data concepts
  • Less suitable for projects primarily focused on UI enhancements

Code Comparison

CoreStore:

let stack = DataStack(
    xcodeModelName: "MyStore"
)

try stack.addStorageAndWait()

let task = CoreStoreDefaults.dataStack.performAsynchronously { (transaction) -> Void in
    let person = transaction.create(Into<Person>())
    person.name = "John Smith"
    person.age = 30
}

swift-ui-animation-components-and-libraries:

import SwiftUI

struct ContentView: View {
    var body: some View {
        FoldingCard()
    }
}

CoreStore focuses on data management and persistence, providing a powerful API for working with Core Data. It offers thread-safe operations and automatic migration handling, making it ideal for complex data-driven applications.

On the other hand, swift-ui-animation-components-and-libraries is primarily concerned with UI animations and components, offering a collection of ready-to-use SwiftUI elements for enhancing user interfaces.

While CoreStore excels in data management, it lacks the UI-focused features of swift-ui-animation-components-and-libraries. Conversely, swift-ui-animation-components-and-libraries doesn't provide data persistence capabilities like CoreStore.

The choice between these libraries depends on the project's primary focus: data management or UI enhancements.

15,085

Network abstraction layer written in Swift.

Pros of Moya

  • Focused on network abstraction, providing a clean and maintainable way to handle API requests
  • Extensive documentation and community support
  • Built-in support for testing and stubbing network requests

Cons of Moya

  • Limited to networking functionality, not providing UI components or animations
  • May introduce additional complexity for simple API integrations
  • Requires additional setup and configuration compared to basic URLSession usage

Code Comparison

Moya:

let provider = MoyaProvider<MyAPI>()
provider.request(.userProfile) { result in
    switch result {
    case let .success(response):
        let data = response.data
        // Handle the response data
    case let .failure(error):
        // Handle the error
    }
}

swift-ui-animation-components-and-libraries:

FoldingCell(unfoldAnimation: .spring(duration: 0.8, dampingRatio: 0.7)) {
    CellContent()
} detail: {
    DetailView()
}

While Moya focuses on network abstraction and API requests, swift-ui-animation-components-and-libraries provides UI components and animations for SwiftUI. Moya is better suited for projects requiring robust networking solutions, while swift-ui-animation-components-and-libraries is ideal for enhancing UI with animations and custom components. The choice between the two depends on the specific needs of your project.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Swift UI Animation Libraries

A curated list of Swift libraries, iOS UI components and UI app development by Ramotion

Try these UI components and contact us if interested.

app development


CAROUSEL

List a collection of items in a horizontally scrolling view. A scaling factor controls the size of the items relative to the center.

Stay tuned for the latest updates:

⚙️ Installation Guide →

☑️ Requirements →



FOLDING CELL

Expanding content cell with animation inspired by folding paper card material design

Stay tuned for the latest updates:

⚙️ Installation Guide →

☑️ Requirements →



ANIMATED TAB BAR

Swift UI module library for adding animation to iOS tabbar items and icons

Stay tuned for the latest updates:

⚙️ Installation Guide →

☑️ Requirements →



PAPER ONBOARDING

iOS library Paper Onboarding is a material design UI slider written on Swift

Stay tuned for the latest updates:

⚙️ Installation Guide →

☑️ Requirements →



CARDSLIDER

UI controller that allows you to swipe through cards with pictures

Stay tuned for the latest updates:

⚙️ Installation Guide →

☑️ Requirements →



NAVIGATION TOOLBAR

Navigation toolbar is a Swift slide-modeled UI navigation controller

Stay tuned for the latest updates:

⚙️ Installation Guide →

☑️ Requirements →



EXPANDING COLLECTION

An animated material design UI card peek/pop controller

Stay tuned for the latest updates:

⚙️ Installation Guide →

☑️ Requirements →



CIRCLE MENU

A simple, elegant UI menu with a circular layout and material design animations

Stay tuned for the latest updates:

⚙️ Installation Guide →

☑️ Requirements →



PAPER SWITCH

A Swift material design UI module which paints over the parent view when the switch is on

Stay tuned for the latest updates:

⚙️ Installation Guide →

☑️ Requirements →



REEL SEARCH

Reel Search is a Swift UI controller that allows you to choose options from a list

Stay tuned for the latest updates:

⚙️ Installation Guide →

☑️ Requirements →



NAVIGATION STACK

Navigation Stack is a library with stack-modeled UI navigation controller

Stay tuned for the latest updates:

⚙️ Installation Guide →

☑️ Requirements →



ADAPTIVE TAB BAR

'Progressive Reduction' module for adding custom states to Native or Custom UI elements

Stay tuned for the latest updates:

⚙️ Installation Guide →

☑️ Requirements →



PREVIEW TRANSITION

Preview Transition is a simple preview gallery UI controller with animated tranisitions

Stay tuned for the latest updates:

⚙️ Installation Guide →

☑️ Requirements →



GLIDING COLLECTION

A smooth, flowing, customizable decision for a UICollectionView Swift Controller

Stay tuned for the latest updates:

⚙️ Installation Guide →

☑️ Requirements →



FLUID SLIDER

A slider widget with a popup bubble displaying the precise value selected written on Swift

Stay tuned for the latest updates:

⚙️ Installation Guide →

☑️ Requirements →



ELONGATION PREVIEW

Elongation Preview is an elegant UI push-pop style view controller for iOS

Stay tuned for the latest updates:

⚙️ Installation Guide →

☑️ Requirements →



GARLAND VIEW

Garland View seamlessly transitions between multiple lists of content

Stay tuned for the latest updates:

⚙️ Installation Guide →

☑️ Requirements →



🗂 Check out other lists of our UI libraries

📲 Get FREE iPhone Mockup for your project →

📄 License

All Swift UI Libraries are released under the MIT license. See LICENSE for details.

If you use the open-source library in your project, please make sure to credit and backlink to www.ramotion.com

📱 Get the Showroom App for iOS to give it a try

Try these UI components and more like this in our iOS app. Contact us if interested.