Thanks to visit codestin.com
Credit goes to github.com

Skip to content

thatfactory/extensions

Repository files navigation

swift-version xcode-version spm-ready platforms license release

Extensions ⚙️

A collection of useful Swift/SwiftUI extensions.

Content

Framework Extension Description
Foundation CGFloat+Degrees Provides convenient CGFloat constants for common angle measurements in radians. Examples:
- Rotate a view by 90 degrees:
view.transform = CGAffineTransform(rotationAngle: .degrees90)
- Set a circular progress bar to half:
progressBar.progress = .degrees180 / .degrees360
 Collection+Safe Avoids Fatal error: Index out of range (out of bounds index)
Returns the element at the specified index if it is within bounds; otherwise nil.
 Optional+ToString Allows printing nil when the optional is nil, or the wrapped value itself. For example: 123 instead of Optional(123).
 String+Decimal Formats a numeric string to a specified number of decimal places. For example: "351.6632141234" becomes "351.66".
 String+EmptyOrWhiteSpace Returns true if the string is empty or contains only whitespace and newline characters.
 String+Masking Hides sensitive information. Returns •••• when self is not empty.
 String+Split Returns the first component of the string up to, but not including, the first occurrence of a given separator.
Image I/O CGImagePropertyOrientation+CaseIterable Extends CGImagePropertyOrientation to conform to CaseIterable, providing a collection of all orientation cases.
 CGImagePropertyOrientation+CustomStringConvertible Makes CGImagePropertyOrientation instances print-friendly. Examples:
- print(orientation.description)
Output: Left (Rotated 90° CW (ClockWise)
- print(orientation.shortDescription)
Output: Up
- print(orientation.emoji)
Output (orientation is up/mirrored): ⬆️🪞
- print(orientation.emoji)
Output (orientation is unknown): 🤷🏻‍♂️
 CGImagePropertyOrientation+UIImage.Orientation Facilitates the conversion between CGImagePropertyOrientation and UIImage.Orientation, ensuring accurate mapping despite their differing underlying numeric values.
PhotoKit PHAssetMediaSubtype+CustomStringConvertible Makes PHAssetMediaSubtype instances print-friendly. Examples:
- print(phAssetMediaType.description)
Output: photoPanorama
- print(phAssetMediaType.description)
Output: videoHighFrameRate
 PHAssetMediaType+CustomStringConvertible Makes PHAssetMediaType instances print-friendly. Examples:
- print(phAssetMediaType.description)
Output: Image
- print(phAssetMediaType.description)
Output: Audio
SwiftUI FadeOut Fades out the edge of a view based on a given FadeOut.Edge.
 FrameSize Adds a dashed-colored frame-size container to a view for UI debugging.
 Shape+RoundedCorner Produces a shape with rounded corners. Allows specifying which corner is to be rounded. For example:
.cornerRadius(20, corners: [.topLeft, .bottomRight])
 StatefulPreviewWrapper Makes Xcode's preview canvas fully functional for previewing SwiftUI views that take @Bindings as input.
 View+Modify Allows applying view modifiers based on some criteria. For example:
Text("Some").modify { if someCondition { $0.bold() } }

SwiftUI Extension Screenshots

FadeOut FrameSize RoundedCorner
fadeOut frameSize roundedCorner

Integration

Xcode

Use Xcode's built-in support for SPM.

or...

Package.swift

In your Package.swift, add Extensions as a dependency:

dependencies: [
    .package(
        url: "https://github.com/thatfactory/extensions",
        from: "0.1.0"
    )
]

Associate the dependency with your target:

targets: [
    .target(
        name: "YourTarget",
        dependencies: [
            .product(
                name: "Extensions",
                package: "extensions"
            )
        ]
    )
]

Run: swift build

About

A collection of useful Swift/SwiftUI extensions ⚙️

Topics

Resources

License

Stars

Watchers

Forks

Languages