• Stars
    star
    1,541
  • Rank 29,187 (Top 0.6 %)
  • Language
    Swift
  • License
    MIT License
  • Created over 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

❀️ Floating Action Button for iOS

Floaty

Swift 5.0 Version License Platform Build Status

Floaty is simple floating action button for iOS. (formerly KCFloatingActionButton)

Why change the name?

  1. Follow the swift naming convention.
  2. KCFloatingActionButton is too long.

Preview

Preview gif

Requirements

  • iOS 10.0+
  • Swift 5.0

Installation

CocoaPods

use_frameworks!
pod 'Floaty', '~> 4.2.0'

Carthage

github "kciter/Floaty"

Swift Package Manager

Once you have your Swift package set up, adding Floaty as a dependency is as easy as adding it to the dependencies value of your Package.swift.

dependencies: [
    .package(url: "https://github.com/kciter/Floaty.git", from: "4.2.1")
]

Manually

To install manually the Floaty in an app, just drag the Floaty/*.swift file into your project.

Usage

Storyboard support

Storyboard support1

Storyboard support2

Dependent on the UIWindow.

Floaty.global.button.addItem(title: "Hello, World!")
Floaty.global.show()

Dependent on the UIWindow

Dependent on the UIViewController.

let floaty = Floaty()
floaty.addItem(title: "Hello, World!")
self.view.addSubview(floaty)

Dependent on the UIViewController

Use icon

let floaty = Floaty()
floaty.addItem("Hello, World!", icon: UIImage(named: "icon")!)
self.view.addSubview(floaty)

Use icon

Use handler

Swift

let floaty = Floaty()
floaty.addItem("I got a handler", icon: UIImage(named: "icon")!, handler: { item in
    let alert = UIAlertController(title: "Hey", message: "I'm hungry...", preferredStyle: .alert)
    alert.addAction(UIAlertAction(title: "Me too", style: .default, handler: nil))
    self.present(alert, animated: true, completion: nil)
    floaty.close()
})
self.view.addSubview(floaty)

Use handler

Use custom item

let item = FloatyItem()
item.buttonColor = UIColor.blueColor()
item.title = "Custom item"
Floaty.global.button.addItem(item: item)

Use custom item

RTL Support

You can use the rtlMode property to mirror the Floaty Button for rtl languages.

Floaty.global.rtlMode = true

Rtl Enabled Rtl Disabled

Sticky

You can use the sticky property.

floaty.sticky = true // sticking to parent UIScrollView(also UITableView, UICollectionView)
scrollView.addSubview(floaty)

Friendly Tap

You can use the friendlyTap property.

fab.friendlyTap = true
scrollView.addSubview(fab)

With the default location of the frame, the button is now tappable until the right and rightbottom of the screen. This prevents tapping behind it by accident.

Animation type

PopFadeSlide Left
Pop animation gif Fade animation gif Slide left animation gif
Slide UpNone
Slide up animation gif None animation gif

ToDo

  • Labels to come at the right hand side of the FAB Item menu.

Donate

If you like this open source, you can sponsor it. πŸ˜„

Paypal me

License

The MIT License (MIT)

Copyright (c) 2015 Lee Sun-Hyoup

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

More Repositories

1

qart.js

Generate artistic QR code. 🎨
JavaScript
3,134
star
2

awesome-style-guide

A list of awesome⭐style guide.
Ruby
1,058
star
3

GlitchLabel

G..lit...c...hing UILa..bel fo..r iO...S πŸ“Ί
Swift
1,038
star
4

react-barcode

A <Barcode/> component for use with React.
Makefile
287
star
5

HorizontalDial

A horizontal scroll dial like Instagram.
Swift
210
star
6

simple-slack-bot

You can easily make Slack Bot!! ⭐
Ruby
159
star
7

aws-ecr-action

This Action allows you to create Docker images and push into a ECR repository.
Shell
124
star
8

SelectionDialog

Simple selection dialog
Swift
117
star
9

jazzlang

μƒ€λΉ±λ‘λΉ„λšœλ°₯ 두비두비두비두비 λšœλΉ„λ‘λ°₯ 사바두비두봐 샀바닀 두뢸둑 🎷
HTML
115
star
10

FBLiveAPISample-iOS

Facebook Live API Sample for iOS
Swift
56
star
11

thing

A rule-based entity management library written in Kotlin
Kotlin
56
star
12

vimgolf-finder

Simple VimGolf challenge finder. πŸ”Ž
Ruby
48
star
13

MySQLForNonDeveloper

λΉ„κ°œλ°œμžλ₯Ό μœ„ν•œ MySQL ⁽(ΛƒΜ΅ΝˆΜ‘α΄—Λ‚Μ΅ΝˆΜ‘)⁽
34
star
14

vue-ime-model

v-model directive for countries using IME.
JavaScript
26
star
15

RxGoogleMaps

RxGoogleMaps is a RxSwift wrapper for GoogleMaps delegate.
Swift
24
star
16

RxAutoUpdater

Auto update to data for UITableView/UICollectionView
Swift
23
star
17

terraform-apply-for-aws-action

Create, change, and improve AWS infrastructure by Terraform.
Shell
21
star
18

OnlyDesignable

This is only a collection of designable views for storyboards.
Swift
20
star
19

NNGameFramework

λ„₯슀트 학생듀을 μœ„ν•œ κ°„λ‹¨ν•œ 2D ν”„λ ˆμž„μ›Œν¬
C
18
star
20

daily

daily run your routine commands very easy! πŸ‘
Shell
17
star
21

eos-project-vue-boilerplate-simple

Rewrite (https://github.com/EOSIO/eosio-project-boilerplate-simple) to Vue.js
Shell
13
star
22

dead-toast

🍞 Dead simple Javascript Toast like Android.
JavaScript
12
star
23

NNEngine

NHN NEXT Game Engine
C++
10
star
24

resume

Lee Sun-Hyoup's RΓ©sumΓ©
HTML
9
star
25

slack_hungry

Slack λ°₯ 메뉴 μΆ”μ²œ 봇.
Python
7
star
26

DeepLearningTetris

Python
7
star
27

laravel-vue-bootstrap

PHP
7
star
28

polymorphic-react-component-sample

TypeScript
6
star
29

vue-weather

JavaScript
5
star
30

HangeulKit

Swift
5
star
31

qart-cli

QArt.js for CLI
4
star
32

dotfiles

Shell
4
star
33

jquery-simple-chart

jQuery 차트 ν”ŒλŸ¬κ·ΈμΈ μž…λ‹ˆλ‹€.
JavaScript
4
star
34

RainyDay

3
star
35

kciter

3
star
36

notevuek

JavaScript
3
star
37

brainfuck-impl

Brainfuck implementations each other in different languages.
JavaScript
3
star
38

TreeStana

JavaScript
3
star
39

vue-stagram

JavaScript
2
star
40

kciter.github.io

TypeScript
2
star
41

FlappyBirdClone

FlappyBirdClone
2
star
42

microfrontend-sample

JavaScript
2
star
43

next-subsystem

TypeScript
2
star
44

iOS-FinishTest

Swift
2
star
45

mf-sdu-test

TypeScript
2
star
46

vuex-counter-example

JavaScript
2
star
47

pokestop-alram

ν¬μΌ€μŠ€νƒ‘ μ•ŒλžŒμž„
Shell
2
star
48

Android-FinishTest

Java
1
star
49

jenkins-pipeline-test

JavaScript
1
star
50

expandable-spring-architecture

1
star