All Projects → CSolanaM → Skeletonui

CSolanaM / Skeletonui

Licence: mit
☠️ Elegant skeleton loading animation in SwiftUI and Combine

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Skeletonui

Skeletonview
☠️ An elegant way to show users that something is happening and also prepare them to which contents they are awaiting
Stars: ✭ 10,804 (+3828.73%)
Mutual labels:  swift-package-manager, skeleton, loading, placeholder
L10n Swift
Localization of the application with ability to change language "on the fly" and support for plural form in any language.
Stars: ✭ 177 (-35.64%)
Mutual labels:  tvos, watchos, cocoapods, swift-package-manager
Ducttape
📦 KeyPath dynamicMemberLookup based syntax sugar for Swift.
Stars: ✭ 138 (-49.82%)
Mutual labels:  tvos, watchos, cocoapods, swift-package-manager
Swiftlinkpreview
It makes a preview from an URL, grabbing all the information such as title, relevant texts and images.
Stars: ✭ 1,216 (+342.18%)
Mutual labels:  tvos, watchos, cocoapods, swift-package-manager
Swiftframeworktemplate
A template for new Swift iOS / macOS / tvOS / watchOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file
Stars: ✭ 527 (+91.64%)
Mutual labels:  tvos, watchos, cocoapods, swift-package-manager
Web3.swift
A pure swift Ethereum Web3 library
Stars: ✭ 295 (+7.27%)
Mutual labels:  tvos, watchos, cocoapods, swift-package-manager
Cdmarkdownkit
An extensive Swift framework providing simple and customizable markdown parsing.
Stars: ✭ 158 (-42.55%)
Mutual labels:  tvos, watchos, cocoapods, swift-package-manager
Functionkit
A framework for functional types and operations designed to fit naturally into Swift.
Stars: ✭ 302 (+9.82%)
Mutual labels:  tvos, watchos, cocoapods, swift-package-manager
Guitar
A Cross-Platform String and Regular Expression Library written in Swift.
Stars: ✭ 641 (+133.09%)
Mutual labels:  tvos, watchos, cocoapods, swift-package-manager
Swifterswift
A handy collection of more than 500 native Swift extensions to boost your productivity.
Stars: ✭ 10,706 (+3793.09%)
Mutual labels:  tvos, watchos, cocoapods, swift-package-manager
Color
Color utilities for macOS, iOS, tvOS, and watchOS
Stars: ✭ 145 (-47.27%)
Mutual labels:  tvos, watchos, cocoapods
Version
Represent and compare versions via semantic versioning (SemVer) in Swift
Stars: ✭ 160 (-41.82%)
Mutual labels:  tvos, watchos, cocoapods
Cocoalumberjack
A fast & simple, yet powerful & flexible logging framework for Mac and iOS
Stars: ✭ 12,584 (+4476%)
Mutual labels:  tvos, watchos, cocoapods
Opencombine
Open source implementation of Apple's Combine framework for processing values over time.
Stars: ✭ 2,040 (+641.82%)
Mutual labels:  tvos, watchos, swift-package-manager
Contentful.swift
A delightful Swift interface to Contentful's content delivery API.
Stars: ✭ 132 (-52%)
Mutual labels:  tvos, watchos, cocoapods
Cloudkitgdpr
Framework for allowing users to manage data stored in iCloud
Stars: ✭ 126 (-54.18%)
Mutual labels:  tvos, watchos, cocoapods
Iso8601
ISO8601 date parser and writer
Stars: ✭ 213 (-22.55%)
Mutual labels:  tvos, watchos, cocoapods
koleton
The easiest library to show skeleton screens in an Android app.
Stars: ✭ 84 (-69.45%)
Mutual labels:  skeleton, placeholder, loading
Amplitude Ios
Native iOS/tvOS/macOS SDK
Stars: ✭ 216 (-21.45%)
Mutual labels:  tvos, cocoapods, swift-package-manager
tracelog
TraceLog is a highly configurable, flexible, portable, and simple to use debug logging system for Swift and Objective-C applications running on Linux, macOS, iOS, watchOS, and tvOS.
Stars: ✭ 52 (-81.09%)
Mutual labels:  tvos, watchos, swift-package-manager

SkeletonUI aims to bring an elegant, declarative syntax to skeleton loading animations. Get rid of loading screens or spinners and start using skeletons to represent final content shapes.

Requirements ⚙️

  • macOS 10.15.
  • Xcode 11.0.
  • Swift 5.0.

Supported Platforms 📱

  • iOS 13.0.
  • tvOS 13.0.
  • watchOS 6.0.
  • macOS 10.15.

Installation 💻

Swift Package Manager

Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler. Once you have your Swift package set up, adding SkeletonUI as a dependency is as easy as adding it to the dependencies value of your Package.swift.

  dependencies: [
  .package(url: "https://github.com/CSolanaM/SkeletonUI.git", .branch("master"))
  ]

CocoaPods

CocoaPods is a centralized dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate SkeletonUI into your Xcode project using CocoaPods, specify it in your Podfile:

pod 'SkeletonUI'

Features ✨

  • [x] SwiftUI simple, declarative syntax.
  • [x] Super easy and simple to set up.
  • [x] All Views are skeletonables.
  • [x] Fully customizable.
  • [x] Universal (iPhone, iPad, iPod, Apple TV, Apple Watch, Mac).
  • [x] SwiftUI ViewModifier power.
  • [x] Lightweight codebase.

Usage 🚀

Basic one-liner:

import SkeletonUI
import SwiftUI

struct UsersView: View {
    @State var users = [String]()

    var body: some View {
        Text("Finished requesting \(users.count) users!")
            .skeleton(with: users.isEmpty)
            .onAppear {
                DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
                    self.users = ["John Doe", "Jane Doe", "James Doe", "Judy Doe"]
                }
        }
    }
}

Advanced customization:

import SkeletonUI
import SwiftUI

struct User: Identifiable {
    let id = UUID()
    let name: String
}

struct UsersView: View {
    @State var users = [User]()

    var body: some View {
        SkeletonList(with: users, quantity: 6) { loading, user in
            Text(user?.name)
                .skeleton(with: loading)
                .shape(type: .rectangle)
                .appearance(type: .solid(color: .red, background: .blue))
                .multiline(lines: 3, scales: [1: 0.5])
                .animation(type: .pulse())
        }
        .onAppear {
            DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
                self.users = [User(name: "John Doe"),
                              User(name: "Jane Doe"),
                              User(name: "James Doe"),
                              User(name: "Judy Doe")]
            }
        }
    }
}

Change Log 📆

See CHANGELOG.md for details.

Contributing 🎉

  • Suggest your idea as a feature request for this project.
  • Create a bug report to help us improve.
  • Propose your own fixes, suggestions and open a pull request with the changes.

See CONTRIBUTING.md for details.

Code of Conduct 💬

See CODE_OF_CONDUCT.md for details.

Credits 🙊

SkeletonUI is owned and maintained by email for project updates and releases.

License 🎓

SkeletonUI is released under the MIT license. See LICENSE for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].