Skip to content

An animatable SwiftUI Shape for drawing a rectangle with curved sides along the horizontal or vertical axis.

License

Notifications You must be signed in to change notification settings

CypherPoet/SwiftUICurvedRectangleShape

Repository files navigation

CurvedRectangle

Twitter: @cypher_poet

An animatable SwiftUI Shape for drawing a rectangle with curved sides along the horizontal or vertical axis.

Installation

Xcode Projects

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

Swift Package Manager Projects

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

let package = Package(
    //...
    dependencies: [
        .package(url: "https://github.com/CypherPoet/SwiftUICurvedRectangleShape", .exact("0.0.1")),
    ],
    //...
)

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

targets: [
    .target(
        name: "YourLibrary",
        dependencies: [
          "SwiftUICurvedRectangleShape",
        ],
        ...
    ),
    ...
]

Then simply import SwiftUICurvedRectangleShape wherever you’d like to use the CurvedRectangle type.

Usage

Importing SwiftUICurvedRectangleShape will expose the CurvedRectangle type.

CurvedRectangle(
    curveAxis: .horizontal,
    leadingDepthPercentage: 8,
    trailingDepthPercentage: 8
)

Full documentation for CurvedRectangle can be found here.

Furthermore, the demo app contains a number of examples and explanations of how it can be used in practice.

animating clipping customization layering

Contributing

Contributions to SwiftUICurvedRectangleShape are most welcome. Check out some of the issue templates for more info.

💻 Developing

Requirements

  • Xcode 12.5+ (Recommended)

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

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

🏷 License

SwiftUICurvedRectangleShape is available under the MIT license. See the LICENSE file for more info.