Tüm açık kaynak paketler
ArayüzSwift

SwiftUI-Components

iOS 17 ve macOS 14 için hazır SwiftUI view'ları; form doğrulama ve erişilebilir gesture'larla

32YıldızSon Sürüm: v2.1.0Güncellendi: 15 Ekim 2026
Platformlar:iOS 17macOS 14

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ıç

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}

Kurulum

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]

Ekran Görüntüleri

Buton galerisi, açık tema
Buton galerisi, koyu tema
Kart galerisi, açık tema
Grafik galerisi, açık tema
Gösterge galerisi, açık tema
Örnek uygulamada doğrulamalı kayıt formu
Örnek uygulamada JSON'dan render edilen iletişim formu
Örnek uygulamada swipe, pinch-rotate-drag ve şekil çizme

Zaman Çizelgesi

  1. Repo açıldı; v1.0.0 ilk commit'e etiketlendi (14 kaynak dosyası, iOS 16 ve macOS 13)

  2. Paket sadeleştirildi: bileşenler kaldırılıp yerine placeholder kod kondu (c7b3799)

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

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

Bağlantılar

Birleştirilen Depolar

İlgili Yazı

Yazıyı Oku