All Projects → twho → Loading Buttons Ios

twho / Loading Buttons Ios

Licence: mit
A collection of loading buttons and their stylings written in Swift.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Loading Buttons Ios

SSSwiftUISpinnerButton
SSSwiftUISpinnerButton is a collection of various spinning animations for buttons in SwiftUI.
Stars: ✭ 37 (-81.86%)
Mutual labels:  button, loading-animations
Flutter spinkit
✨ A collection of loading indicators animated with flutter. Heavily Inspired by http://tobiasahlin.com/spinkit.
Stars: ✭ 2,411 (+1081.86%)
Mutual labels:  loading-animations
Svg
Useful SVGs
Stars: ✭ 137 (-32.84%)
Mutual labels:  loading-animations
Better React Spinkit
A collection of loading indicators for React
Stars: ✭ 174 (-14.71%)
Mutual labels:  loading-animations
Loading Animations
A Flutter package with a selection of simple yet very customizable set of loading animations.
Stars: ✭ 147 (-27.94%)
Mutual labels:  loading-animations
Acebutton
An adjustable, compact, event-driven button library for Arduino that debounces and dispatches events to a user-defined event handler.
Stars: ✭ 180 (-11.76%)
Mutual labels:  button
Swift project
原OC项目用swift实现,纯swift项目,可作为学习swift的demo,包含多个自定义控件,并且进行封装网络请求库,结构清晰。
Stars: ✭ 133 (-34.8%)
Mutual labels:  button
Tristatetogglebutton
Customizable tri-state toggle button (with three states, three state toggle) for Android
Stars: ✭ 198 (-2.94%)
Mutual labels:  button
Easybutton
Arduino library for debouncing momentary contact switches, detect press, release, long press and sequences with event definitions and callbacks.
Stars: ✭ 187 (-8.33%)
Mutual labels:  button
React Loading Skeleton
Create skeleton screens that automatically adapt to your app!
Stars: ✭ 2,533 (+1141.67%)
Mutual labels:  loading-animations
Bttn.css
Awesome buttons for awesome projects!
Stars: ✭ 2,004 (+882.35%)
Mutual labels:  button
React Ripples
🏊 Material ripple effect. Ripples everything
Stars: ✭ 160 (-21.57%)
Mutual labels:  button
Lgbutton
A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code.
Stars: ✭ 2,216 (+986.27%)
Mutual labels:  button
Sharpview
安卓带有尖角气泡的控件(TextView,ImageView,EditText,Layout),支持渐变色,圆角等自定义属性
Stars: ✭ 137 (-32.84%)
Mutual labels:  button
Llbootstrapbutton
Bootstrap 3.0扁平化风格按钮,自带图标,一句代码直接调用!!!
Stars: ✭ 189 (-7.35%)
Mutual labels:  button
Waveloadingview
An Android library providing to realize wave loading effect.
Stars: ✭ 1,658 (+712.75%)
Mutual labels:  loading-animations
Androidbuttonprogress
Provides download button progress view for android
Stars: ✭ 166 (-18.63%)
Mutual labels:  button
Vanilla Back To Top
Simple and smooth Back To Top button
Stars: ✭ 179 (-12.25%)
Mutual labels:  button
Heyui
🎉UI Toolkit for Web, Vue2.0 http://www.heyui.top
Stars: ✭ 2,373 (+1063.24%)
Mutual labels:  button
Clispinner
Swifty Terminal Spinner
Stars: ✭ 197 (-3.43%)
Mutual labels:  loading-animations

Loading Buttons

A collection of loading buttons and their styling written in Swift.

Generic badge Generic badge Generic badge Generic badge

You may see the following Medium article for detailed explanation of creating loading buttons.

Light mode Dark mode
Overview Overview Dark

Key Features

  • The example gives you 9 choices of loading indicators with the loading button.
  • The IndicatorProtocol clearly defines the functions and properties. You can refer to it and customize your own.
  • The LoadingButton class is made to be open, from which you can easily inherit and create your own.

Requirements

  • Swift 5.0
  • iOS 11.0+

Installation

CocoaPods

LoadingButtons project is available via CocoaPods. To install it, simply add the following line to your Podfile:

$ pod 'MHLoadingButton'

Swift Package Manager

Add LoadingButtons as dependency in your Package.swift

import PackageDescription

let package = Package(
    name: "YourPackage",
    dependencies: [
        .Package(url: "https://github.com/twho/loading-buttons-ios.git", majorVersion: 0),
    ]
)

If you don't use CocoaPods or Swift Package Manager, you can download the entire project then import all the source files and use them in your project.

Usage

Declaration

// The frame is default to zero. You need to use AutoLayout to resize it. 
// Otherwise, you can specify the frame in initializer.
if #available(iOS 13.0, *) {
    // This is the new initializer for iOS 13 dark/light mode. 
    // The syste colors will be used.
    btnLoading = LoadingButton(text: "Button", buttonStyle: .outline) // Outlined button
    btnLoading = LoadingButton(text: "Button", buttonStyle: .fill)    // Filled button
} else {
    // Custom color initializer
    btnLoading = LoadingButton(text: "Button", textColor: .black, bgColor: .white)
}

System Default

btnLoading.indicator = UIActivityIndicatorView()
Light mode Dark mode
System Default System Default Dark

Material Design

btnLoading.indicator = MaterialLoadingIndicator(color: .gray)
Light mode Dark mode
Material Design Material Design Dark

Ball Pulse

btnLoading.indicator = BallPulseSyncIndicator(color: .gray)
Light mode Dark mode
Ball Pulse Ball Pulse Dark

Ball Pulse Sync

btnLoading.indicator = BallSpinFadeIndicator(color: .gray)
Light mode Dark mode
Ball Pulse Sync Ball Pulse Sync Dark

Ball Spin

btnLoading.indicator = LineScalePulseIndicator(color: .gray)
Light mode Dark mode
Ball Spin Ball Spin Dark

Line Scale

btnLoading.indicator = LineScaleIndicator(color: .gray)
Light mode Dark mode
Line Scale Line Scale Dark

Line Scale Pulse

btnLoading.indicator = BallPulseIndicator(color: .gray)
Light mode Dark mode
Line Scale Pulse Line Scale Pulse Dark

Ball Beat

btnLoading.indicator = BallBeatIndicator(color: .gray)
Light mode Dark mode
Ball Beat Ball Beat Dark

Line Spin

btnLoading.indicator = LineSpinFadeLoader(color: .gray)
Light mode Dark mode
Line Spin Line Spin Dark

Credits

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].