Alle Open-Source-Pakete
UISwift

SwiftUI-Components

Fertige SwiftUI-Views für iOS 17 und macOS 14, mit Formularvalidierung und barrierefreien Gesten

32SterneNeueste Version: v2.1.0Aktualisiert: 15. Oktober 2026
Plattformen:iOS 17macOS 14

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

swift
1import SwiftUI
2import SwiftUIComponents
3 
4struct ContentView: View {
5 @State private var rating = 3.0
6 
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…)

text
1https://github.com/muhittincamdali/SwiftUI-Components.git

Swift Package Manager

swift
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

Button-Galerie, Light Mode
Button-Galerie, Dark Mode
Card-Galerie, Light Mode
Chart-Galerie, Light Mode
Indicator-Galerie, Light Mode
Validiertes Registrierungsformular in der Beispiel-App
Aus JSON gerendertes Kontaktformular in der Beispiel-App
Swipe, Pinch-Rotate-Drag und Formzeichnen in der Beispiel-App

Zeitleiste

  1. Repository eröffnet; v1.0.0 auf den ersten Commit getaggt (14 Quelldateien, iOS 16 und macOS 13)

  2. Package verschlankt: Die Komponenten wurden entfernt und durch Platzhaltercode ersetzt (c7b3799)

  3. 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)

  4. 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)

Links

Zusammengeführte Repositories

Verwandter Artikel

Artikel lesen