SwiftUIPolygon
_An animatable SwiftUI Polygon Shape with support for mesh rendering._
- 🔗Clone or download this repo and play around with the [Demo app](./Demo/).
Features
- [x] Shape animation support for side counts.
- [x] Mesh Rendering
- [x] Configurable side counts and rendering modes.
Requirements
- iOS 13.0+
- iPadOS 13.0+
- macOS 10.15+
- tvOS 13.0+
- watchOS 6.0+
- Xcode 11.3+ (for developing)
Installation
Xcode Projects
Using Xcode, select File
-> Swift Packages
-> Add Package Dependency
and enter https://github.com/CypherPoet/SwiftUIPolygon.
Swift Package Manager
SwiftUIPolygon
can be used through the Swift Package Manager. You can add it as a dependency in your Package.swift
file:
let package = Package(
//...
dependencies: [
.package(url: "https://github.com/CypherPoet/SwiftUIPolygon", "0.1.0"),
],
//...
)
From there, you can import Polygon
wherever you’d like to use it.
Usage
Polygon(
sides: 8,
renderingMode: .wireframe
)
Configurable Properties
sides (Int
)
The number of sides belonging to the polygon.
This value must be greater than or equal to 1. If a value less than 1 is set, it will be clamped to 1 automatically.
Polygons with 1 or 2 sides will be rendered as a circle.
- default: 3
renderingMode (Polygon.MeshRenderingMode
)
An enum type of either face
or wireframe
.
- default: face
Recipes
Stroking and filling the same shape
Polygon(sides: 5)
.fill(Color.orange)
.overlay(
polygonShape
.stroke(Color.purple, lineWidth: 8)
)
Roadmap
Contributing
Contributions to SwiftUIPolygon
are most welcome. Check out some of the issue templates for more info.
Developing
Generating Documentation
Documentation is generated by Jazzy. Installation instructions can be found here, and as soon as you have it set up, docs can be generated simply by running jazzy
from the command line.
License
SwiftUIPolygon is available under the MIT license. See the LICENSE file for more info.