SwiftUI-Components
iOS 17 ve macOS 14 için hazır SwiftUI view'ları; form doğrulama ve erişilebilir gesture'larla
Lisans: MIT
Bağımlılığı olmayan, SwiftUI view'larından oluşan bir Swift paketi: buton, kart, grafik, doğrulamalı form alanları, gesture'lar, listeler, overlay'ler, yükleme göstergeleri ve toast'lar. Her bileşen initializer ile yapılandırılan düz bir View; bir tema sistemi benimsemeden bir iki tanesini kullanabilirsiniz. Arkadaki mantık (kart numarası kontrolleri, validator'lar, JSON form şemaları, swipe ve şekil tanıma) macOS'ta ve iPhone simulator'ında koşan Swift Testing suite'leriyle test ediliyor.
Özellikler
- Kaynaktan sayılmış 223 view, 12 view modifier ve 5 gesture modifier; 14 kategoride
- Birleştirilebilir validator'lar, ilk düzenlemeden sonra görünen hatalar, debounce'lu sunucu kontrolleri ve çok adımlı formlar
- JSON'dan render edilen formlar; şemadaki desenler eşleşme başına 20 ms sınır ve kontrol başına 100 ms bütçeyle çalışır
- Swipe, kenar kaydırma, swipe dizisi, pinch-rotate-drag ve şekil çizme; her biri bir erişilebilirlik aksiyonuyla
- iOS ve macOS için tek kod tabanı: UIKit'e özel ayrıntıların neredeyse tamamı tek bir platform dosyasında AppKit karşılığına ya da no-op'a eşlenir
- Swift 6 dil modu, bağımlılık yok; README örnekleri örnek uygulama ve test target'ı tarafından derlenir
- ColorContrast ile SwiftUI renkleri için WCAG 2 kontrast oranı ve seviyesi
Hızlı Başlangıç
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}Kurulum
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]Ekran Görüntüleri








Zaman Çizelgesi
Repo açıldı; v1.0.0 ilk commit'e etiketlendi (14 kaynak dosyası, iOS 16 ve macOS 13)
Paket sadeleştirildi: bileşenler kaldırılıp yerine placeholder kod kondu (c7b3799)
2.0.0 olarak yeniden kuruldu: bileşenler iOS 17 ve macOS 14 için Swift 6 dil modunda geri getirildi; testler, CI ve DocC eklendi (PR #3)
2.1.0: doğrulama, JSON'dan form, gesture'lar ve kontrast kontrolü; SwiftUI-Forms-Kit, SwiftUI-Gesture-Library ve iOSUIComponents'tan yeniden yazıldı, bu üç repo arşivlendi (PR #6)