Giter Site home page Giter Site logo

maustinstar / shiny Goto Github PK

View Code? Open in Web Editor NEW
855.0 12.0 17.0 2.19 MB

Shiny uses your gyroscope to simulate lighting and motion effects on colors. Works on almost every SwiftUI View.

License: MIT License

Swift 100.00%
swiftui swift-package-manager swift ui ux ios gyroscope motion neumorphic skeuomorphic

shiny's Introduction

Shiny

Add motion-based texture to your SwiftUI views

Draw attention to important interface elements with .shiny(). Shiny uses your gyroscope to simulate lighting and motion effects on colors. It works on almost every native SwiftUI View. Try it on Text, Toggle, or a VStack. Just add .shiny() to get started!

๐Ÿ’ณ Inspired by the Apple Cash Card

Contents

Package

For Xcode Projects

File > Swift Packages > Add Package Dependency: https://github.com/maustinstar/shiny

For Swift Packages

Add a dependency in your your Package.swift

.package(url: "https://github.com/maustinstar/shiny.git", from: "0.0.1"),

Basic Usage

Just import Shiny and modify your view with .shiny() to get started.

import Shiny
...
Text("Hello, shiny world! โœจ").shiny()

See the full Reference Guide.

Example

Rainbow text on silver card

Text("shiny")
    .font(.largeTitle)
    .fontWeight(.bold).shiny()
    .background(
        RoundedRectangle(cornerRadius: 14.0)
            .frame(width: 200.0, height: 70.0)
            .shiny(.hyperGlossy(UIColor.systemGray5)))

See more Examples.

More

๐Ÿš€ Looking for more fun SwiftUI Packages?

Credits

shiny's People

Contributors

maustinstar avatar ryanslikesocool avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shiny's Issues

Animations wont start

I am trying to get this to work, but the animation wont start for the first example when I import to my project? The title just turns red and nothing happens.

Does this package not work anymore?

Disables touch gestures for items in ForEach loop

I have a list of items using ForEach and ScrollView, and if I use shiny on one of the items, the whole view stops receiving touch gestures correctly for every view except the last one. For example, if I add a button to the view, the button won't click, and if I add a contextMenu to the items, it opens a context for the item at the bottom of the list.

Animation not working

I took an example from the examples and pasted it into my code, there is no error, it just doesn't work.

.shiny() crash: 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [nan nan]

@maustinstar

                    HStack {
                        Text("Thank You!")
                            .shiny()
                            .foregroundColor(.moneyRed)
                            .multilineTextAlignment(.leading)
                            .font(.system(size: 42, weight: .heavy))
                        Spacer()
                    }
libc++abi: terminating with uncaught exception of type NSException
*** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [nan nan]. Layer: <_TtC7SwiftUIP33_F176A6CF4451B27508D54E2BEAEBFD5415PaintShapeLayer:0x280e9e280; position = CGPoint (0 0); bounds = CGRect (0 0; 0 0); delegate = <_TtC7SwiftUIP33_A34643117F00277B93DEBAB70EC0697122_UIShapeHitTestingView: 0x106133630; frame = (-8.98847e+307 -8.98847e+307; 1.79769e+308 1.79769e+308); transform = [nan, nan, nan, nan, 0, 0]; anchorPoint = (0, 0); autoresizesSubviews = NO; layer = <_TtC7SwiftUIP33_F176A6CF4451B27508D54E2BEAEBFD5415PaintShapeLayer: 0x280e9e280>>; allowsEdgeAntialiasing = YES; allowsGroupOpacity = YES; anchorPoint = CGPoint (0 0); contentsScale = 2; transform = CATransform3D (nan nan 0 0; nan nan 0 0; 0 0 1 0; 0 0 0 1)>'
terminating with uncaught exception of type NSException

Help: Dark mode support

Hello @maustinstar

I'm working on a swiftui project.

In this commit I've added Shiny to enhance the text with the example you give.
It's working great when iOS is using light theme, but in dark mode the frame is visible:
image

Am I missing something? Does Shiny supports dark mode?

Regards

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.