SwiftUI-Components
Fertige SwiftUI-Views für iOS 17 und macOS 14, mit Formularvalidierung und barrierefreien Gesten
Lizenz: MIT
Ein abhängigkeitsfreies Swift-Package mit SwiftUI-Views: Buttons, Cards, Charts, Formularfelder mit Validierung, Gesten, Listen, Overlays, Loader und Toasts. Jede Komponente ist eine einfache View, die über ihren Initializer konfiguriert wird, sodass Sie eine oder zwei davon nutzen können, ohne ein ganzes Theme-System zu übernehmen. Die Logik dahinter, etwa Kartennummer-Prüfungen, Validatoren, JSON-Formularschemas und Swipe- sowie Formerkennung, wird von Swift-Testing-Suites abgedeckt, die auf macOS und einem iPhone-Simulator laufen.
Funktionen
- 223 Views, 12 View-Modifier und 5 Gesture-Modifier in 14 Kategorien, aus dem Quellcode gezählt
- Kombinierbare Validatoren, Fehler, die erst nach der ersten Bearbeitung erscheinen, entprellte Serverprüfungen und mehrstufige Formulare
- Aus JSON gerenderte Formulare; Schema-Patterns laufen mit einem Limit von 20 ms pro Match und einem Budget von 100 ms pro Prüfung
- Swipes, Edge-Swipes, Swipe-Sequenzen, Pinch-Rotate-Drag und Formzeichnen, jeweils mit einer Accessibility-Action
- Eine Codebasis für iOS und macOS: Fast alle UIKit-spezifischen Details werden in einer einzigen Plattformdatei auf AppKit oder auf No-ops abgebildet
- Swift-6-Language-Mode, keine Abhängigkeiten, und README-Beispiele werden von der Beispiel-App und dem Test-Target kompiliert
- WCAG-2-Kontrastverhältnis und -Stufe für SwiftUI-Farben mit ColorContrast
Schnellstart
1import SwiftUI2import SwiftUIComponents3 4struct ContentView: View {5 @State private var rating = 3.06 7 var body: some View {8 VStack(spacing: 20) {9 Text("Rate this app")10 .font(.headline)11 RatingInput(rating: $rating)12 PrimaryButton("Send rating") {13 print("Rating: \(rating)")14 }15 }16 .padding()17 }18}Installation
Xcode (File › Add Package Dependencies…)
1https://github.com/muhittincamdali/SwiftUI-Components.gitSwift Package Manager
1dependencies: [2 .package(url: "https://github.com/muhittincamdali/SwiftUI-Components.git", from: "2.1.0")3],4targets: [5 .target(name: "YourApp", dependencies: [6 .product(name: "SwiftUIComponents", package: "SwiftUI-Components")7 ])8]Screenshots








Zeitleiste
Repository eröffnet; v1.0.0 auf den ersten Commit getaggt (14 Quelldateien, iOS 16 und macOS 13)
Package verschlankt: Die Komponenten wurden entfernt und durch Platzhaltercode ersetzt (c7b3799)
Als 2.0.0 neu aufgebaut: Komponenten für iOS 17 und macOS 14 im Swift-6-Language-Mode wiederhergestellt, mit Tests, CI und DocC (PR #3)
2.1.0: Validierung, JSON-Formulare, Gesten und ein Kontrast-Checker, neu geschrieben aus SwiftUI-Forms-Kit, SwiftUI-Gesture-Library und iOSUIComponents, die alle archiviert wurden (PR #6)