Toolverse
Wszystkie skille

swiftui-ui-patterns

autor: Dimillian

Wzorce i best practices do budowania interfejsów w SwiftUI — od komponentów po całe ekrany

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Mobile
Wyświetlenia
2

O skillu

Skill zawiera sprawdzone praktyki i przykłady kodu do tworzenia widoków SwiftUI. Znajdziesz tu wzorce dla nawigacji, niestandardowych modyfikatorów, responsywnych layoutów oraz architektur z TabView. Użyj go, gdy budujesz lub refaktoryzujesz interfejsy iOS, projektujesz nawigację zakładkami, komponujesz ekrany ze stosami (VStack/HStack) lub zarządzasz stanem aplikacji (@State, @Binding). Zawiera również referencje do scroll-reveal, app-wiring i indeksu komponentów.

Jak używać

  1. Określ typ interakcji, którą budujesz — lista, szczegóły, edytor, ustawienia czy interfejs z zakładkami — i znajdź zbliżony przykład w repozytorium za pomocą wyszukiwania (np. rg "TabView("). Przeczytaj kod istniejącego widoku SwiftUI, aby zrozumieć konwencje projektu.

  2. Dla nowego projektu zacznij od pliku references/app-wiring.md, aby połączyć TabView, NavigationStack i sheets. Stwórz minimalny AppTab i RouterPath na podstawie podanych szablonów, a następnie rozszerzaj enumeracje tras w miarę dodawania nowych ekranów.

  3. Wybierz odpowiednią referencję komponentu z references/components-index.md na podstawie interfejsu, który chcesz zbudować jako pierwszy (TabView, NavigationStack, Sheets lub inne).

  4. Stosuj nowoczesny stan SwiftUI — @State, @Binding, @Observable, @Environment — i unikaj niepotrzebnych view modeli. Utrzymuj stan lokalnie, gdy to możliwe, i używaj dependency injection dla współdzielonych zależności.

  5. Jeśli implementujesz ujawnianie zawartości poprzez przeciąganie lub przewijanie, przeczytaj references/scroll-reveal.md przed ręcznym kodowaniem gestów. Buduj widoki z małych, skoncentrowanych podwidoków i natywnego przepływu danych SwiftUI.

  6. Dla starszych celów wdrożenia (iOS 16 lub wcześniej) zastosuj ObservableObject z @StateObject dla właściciela głównego i @ObservedObject dla wstrzykiwanych zależności, zamiast nowszego API Observation z iOS 17.

Podobne skille