Back to list
goodevibes

swiftui-advanced

by goodevibes

Copilot Plugin for Xcode using CoPilot

0🍴 0📅 Jan 9, 2026

SKILL.md


name: swiftui-advanced description: Use when implementing gesture composition (simultaneous, sequenced, exclusive), adaptive layouts (ViewThatFits, AnyLayout, size classes), or choosing architecture patterns (MVVM vs TCA vs vanilla, State-as-Bridge). Covers advanced SwiftUI patterns beyond basic views.

SwiftUI Advanced

Advanced SwiftUI patterns for gesture composition, adaptive layouts, architecture decisions, and performance optimization.

Quick Reference

ReferenceLoad When
GesturesComposing multiple gestures, GestureState, custom recognizers
Adaptive LayoutViewThatFits, AnyLayout, size classes, iOS 26 free-form windows
ArchitectureMVVM vs TCA decision, State-as-Bridge, property wrapper selection
PerformanceInstruments 26, view body optimization, unnecessary updates

Core Workflow

  1. Identify pattern category from user's question
  2. Load relevant reference for detailed patterns and code examples
  3. Apply pattern following the decision trees and anti-patterns
  4. Verify using provided checklists or profiling guidance

Decision Trees

Gesture Composition

  • Both gestures at same time? -> .simultaneously
  • One must complete before next? -> .sequenced
  • Only one should win? -> .exclusively

Layout Adaptation

  • Pick best-fitting variant? -> ViewThatFits
  • Animated H/V switch? -> AnyLayout
  • Need actual dimensions? -> onGeometryChange

Architecture Selection

  • Small app, Apple patterns? -> @Observable + State-as-Bridge
  • Complex presentation logic? -> MVVM with @Observable
  • Rigorous testability needed? -> TCA

Common Mistakes

  1. Gesture composition order matters.simultaneously and .sequenced have different trigger timing. Swapping them silently changes behavior. Understand gesture semantics before using.

  2. ViewThatFits over-used — ViewThatFits remeasures on every view change. For animated H/V switches, use AnyLayout instead. Use ViewThatFits only for static variant selection.

  3. onGeometryChange triggering unnecessary updates — Reading geometry changes geometry, which triggers updates, which changes geometry... circular. Use .onGeometryChange only with proper state management to avoid loops.

  4. Architecture mismatch mid-project — Starting with @Observable + State-as-Bridge then realizing you need TCA is expensive. Choose architecture upfront based on complexity (small app = @Observable, complex = TCA).

  5. Ignoring view body optimization — Computing expensive calculations in view body repeatedly kills performance. Move calculations to properties or models. Profile with Instruments 26 before optimizing prematurely.

Score

Total Score

60/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon