← ClaudeAtlas

swiftui-ui-patternslisted

Best practices and patterns for building SwiftUI views and components. Use when creating or refactoring SwiftUI UI, designing tab architecture, composing screens, or needing component-specific guidance.
patrickserrano/lacquer · ★ 1 · Web & Frontend · score 67
Install: claude install-skill patrickserrano/lacquer
# SwiftUI UI Patterns ## Quick Start ### Existing Project 1. Identify the feature and primary interaction model (list, detail, editor, settings, tabbed) 2. Find nearby examples in the repo with `rg "TabView\("` or similar 3. Apply local conventions: prefer SwiftUI-native state, keep state local 4. Build with small, focused subviews and SwiftUI-native data flow ### New Project Scaffolding 1. Wire TabView + NavigationStack + sheets 2. Add minimal `AppTab` enum and `RouterPath` 3. Expand route and sheet enums as new screens are added ## General Rules - Use modern SwiftUI state (`@State`, `@Binding`, `@Observable`, `@Environment`) - Avoid unnecessary view models - prefer MV (Model-View) over MVVM - Prefer composition; keep views small and focused - Use async/await with `.task` and explicit loading/error states - Follow the project's formatter and style guide ### Sheets Best Practices - Prefer `.sheet(item:)` over `.sheet(isPresented:)` when state represents a selected model - Avoid `if let` inside a sheet body - Sheets should own their actions and call `dismiss()` internally ## Workflow for a New SwiftUI View 1. Define the view's state and its ownership location 2. Identify dependencies to inject via `@Environment` 3. Sketch the view hierarchy and extract repeated parts into subviews 4. Implement async loading with `.task` and explicit state enum if needed 5. Add accessibility labels or identifiers for interactive UI 6. Validate with a build and update usage callsites if