Todos los paquetes de código abierto
InterfazSwift

SwiftUI-Components

Vistas SwiftUI ya hechas para iOS 17 y macOS 14, con validación de formularios y gestos accesibles

32EstrellasÚltima versión: v2.1.0Actualizado: 15 de octubre de 2026
Plataformas:iOS 17macOS 14

Licencia: MIT

Un paquete Swift sin dependencias de vistas SwiftUI: buttons, cards, charts, campos de formulario con validación, gestures, lists, overlays, loaders y toasts. Cada componente es una View simple configurada mediante su initializer, así que puedes usar uno o dos sin adoptar un sistema de temas. La lógica detrás de ellos, como las comprobaciones de número de tarjeta, los validators, los esquemas de formulario en JSON y el reconocimiento de swipes y formas, está cubierta por suites de Swift Testing que se ejecutan en macOS y en un simulador de iPhone.

Características

  • 223 views, 12 view modifiers y 5 gesture modifiers en 14 categorías, contados a partir del código fuente
  • Validators componibles, errores que aparecen tras la primera edición, comprobaciones de servidor con debounce y formularios de varios pasos
  • Formularios renderizados desde JSON; los patrones del esquema se ejecutan con un límite de 20 ms por coincidencia y un presupuesto de 100 ms por comprobación
  • Swipes, edge swipes, secuencias de swipe, pinch-rotate-drag y dibujo de formas, cada uno con una acción de accesibilidad
  • Una única base de código para iOS y macOS: casi todos los detalles exclusivos de UIKit se mapean a AppKit o a no-ops en un solo archivo de plataforma
  • Modo de lenguaje Swift 6, sin dependencias, y ejemplos del README compilados por la app de ejemplo y el test target
  • Ratio y nivel de contraste WCAG 2 para colores de SwiftUI con ColorContrast

Inicio rápido

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}

Instalación

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]

Capturas de pantalla

Galería de botones, modo claro
Galería de botones, modo oscuro
Galería de cards, modo claro
Galería de charts, modo claro
Galería de indicadores, modo claro
Formulario de registro con validación en la app de ejemplo
Formulario de contacto renderizado desde JSON en la app de ejemplo
Swipe, pinch-rotate-drag y dibujo de formas en la app de ejemplo

Cronología

  1. Repositorio abierto; v1.0.0 etiquetada en el primer commit (14 archivos de código fuente, iOS 16 y macOS 13)

  2. Paquete reducido: los componentes se eliminaron y se sustituyeron por código placeholder (c7b3799)

  3. Reconstruido como 2.0.0: componentes recuperados para iOS 17 y macOS 14 en el modo de lenguaje Swift 6, con tests, CI y DocC (PR #3)

  4. 2.1.0: validación, formularios JSON, gestures y un verificador de contraste, reescritos a partir de SwiftUI-Forms-Kit, SwiftUI-Gesture-Library y iOSUIComponents, que fueron archivados (PR #6)

Enlaces

Repositorios fusionados

Artículo relacionado

Leer el artículo