UI control for iOS and macOS developed with SwiftUI

AxisRatingBar for SwiftUI

This library is a UI control for iOS and macOS developed with SwiftUI. You can display ratings along the horizontal/vertical axis and receive ratings from users. You can use any view that conforms to the View protocol, not just the star shape.

Screenshot

Horizontal Vertical

2022-02-20.9.45.00.mov

Example

https://fabulaapp.page.link/229

Usages

/// Initializes `ARConstant`
/// - Parameters:
///   - rating: The number of views filled is typically between 1 and 5. The view is displayed according to the fill mode setting. The default value is `5`.
///   - size: The size of the individual view. The default value is `CGSize(width: 44, height: 44)`.
///   - spacing: The spacing between the view and the view. The default value is `0`
///   - fillMode: Defines how the view is filled when the rating is not an integer number. The default value is `.half`.
///   - axisMode: Defines the horizontal/vertical orientation of the rating bar. The default value is `.horizontal`.
///   - valueMode: The mode of the filled value. The default value is `.ratio`
///   - disabled: A condition that controls whether users can interact with rating bar. The default value is 'false'
///   - animation: The animation effect of the view being filled. The default value is `.easeOut(duration: 0.16)`
///

AxisRatingBar(value: $value, constant: constant) {
    /// A view builder for background views.
    ARStar(count: 5), innerRatio: 1)
        .fill(Color.gray.opacity(0.2))
} foreground: {
    /// A view builder for foreground views.
    ARStar(count: 5, innerRatio: 1)
        .fill(Color.accentColor)
}

Swift Package Manager

The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler. Once you have your Swift package set up, adding AxisRatingBar as a dependency is as easy as adding it to the dependencies value of your Package.swift.

dependencies: [
    .package(url: "https://github.com/jasudev/AxisRatingBar.git", .branch("main"))
]

Contact

instagram : @dev.fabula email : dev.fabula@gmail.com

License

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

GitHub

View Github