Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cypherpoet/swiftuiwavyrectangleshape

An animatable SwiftUI Shape for drawing a rectangle with curved sine wave along the bottom.
https://github.com/cypherpoet/swiftuiwavyrectangleshape

amplitude animated-sine-waves animation geometry sine-waves surfing swift swift-package-manager swift-packages swift-world-domination swiftui swiftui-animations swiftui-geometry swiftui-masterrace swiftui-trigonometry trigonometry

Last synced: 3 days ago
JSON representation

An animatable SwiftUI Shape for drawing a rectangle with curved sine wave along the bottom.

Awesome Lists containing this project

README

        

# WavyRectangle













Twitter: @cypher_poet

_An animatable SwiftUI Shape for drawing a rectangle with curved sine wave along the bottom_.


Demo Recording

## Installation

### Xcode Projects

Select `File` -> `Swift Packages` -> `Add Package Dependency` and enter `https://github.com/CypherPoet/SwiftUIWavyRectangleShape`.

### Swift Package Manager Projects

You can add `SwiftUIWavyRectangleShape` as a package dependency in your `Package.swift` file:

```swift
let package = Package(
//...
dependencies: [
.package(
url: "https://github.com/CypherPoet/SwiftUIWavyRectangleShape",
.upToNextMinor(from: "0.1.0")
),
],
//...
)
```

From there, refer to `SwiftUIWavyRectangleShape` as a "target dependency" in any of _your_ package's targets that need it.

```swift
targets: [
.target(
name: "YourLibrary",
dependencies: [
"SwiftUIWavyRectangleShape",
],
...
),
...
]
```

Then simply `import SwiftUIWavyRectangleShape` wherever you’d like to use it.

## Usage

Importing `SwiftUIWavyRectangleShape` will expose the `WavyRectangle` type.

```swift
WavyRectangle(
phase: .radians(.pi / 6.0),
amplitudeRatio: 0.3,
frequency: 30
)
.fill(Color.pink)
```

`WavyRectangle` documentation can be found [here](https://cypherpoet.github.io/SwiftUIWavyRectangleShape/), and this project's [example app](https://github.com/CypherPoet/SwiftUIWavyRectangleShape/tree/main/Examples/WavyRectangleShapeDemo) contains a demonstration of more ways to use it.

## Contributing

Contributions to `SwiftUIWavyRectangleShape` are most welcome. Check out some of the [issue templates](./.github/ISSUE_TEMPLATE/) for more info.

## 💻 Developing

### Requirements

- Xcode 12.5+ (Recommended)

### 📜 Generating Documentation

Documentation is generated by [Jazzy](https://github.com/realm/jazzy). Installation instructions can be found [here](https://github.com/realm/jazzy#installation), and as soon as you have it set up, docs can be generated simply by running `jazzy` from the command line.

📝 Note that this will only generate the `docs` folder for you to view locally. This folder is being ignored by `git`, as an [action](./.github/workflows/PublishDocumentation.yml) exists to automatically generate docs at the root level and serve them on the project's `gh-pages` branch.

## 🏷 License

`SwiftUIWavyRectangleShape` is available under the MIT license. See the [LICENSE file](./LICENSE) for more info.