A Swift library for sharing and reusing UI styles across iOS apps, decoupling styling from layout code.
Fashion is a Swift library for iOS development that helps developers share and reuse UI styles across their applications. It provides a structured way to decouple styling from layout code, improving customization and maintainability while offering more flexibility than UIAppearance.
iOS developers building native Swift applications who need a clean, reusable approach to UI styling and want to move beyond UIAppearance limitations.
Developers choose Fashion for its Swifty, type-safe API that organizes styles into reusable stylesheets, supports style composition, and provides multiple application methods while maintaining native iOS development patterns.
:nail_care: Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Encapsulates styles in dedicated classes via the Stylesheet protocol, cleanly separating styling logic from view code as shown in the define() method examples.
Uses Swift enums and StringConvertible protocols to avoid magic strings, enhancing code safety and refactoring, as demonstrated with the Style enum.
Supports multiple application methods including convenience initializers, apply functions, and IBInspectable properties, offering versatility in how styles are applied.
Allows combining styles with Style.compose() for modular design, promoting DRY principles and flexible reuse across components.
Does not support SwiftUI, making it irrelevant for modern iOS projects adopting Apple's declarative UI framework, as it's solely built for UIKit.
Requires initial registration of stylesheets and style definitions, adding complexity for simple apps or quick prototypes where lightweight styling is preferred.
The README indicates Swift 4.0 compatibility, suggesting it may not be actively updated for newer Swift versions or iOS features, risking obsolescence.