すべてのオープンソースパッケージ
UISwift

SwiftUI-Components

iOS 17 と macOS 14 向けの作成済み SwiftUI ビュー。フォーム検証とアクセシブルなジェスチャーを備えます

32スター数最新リリース: v2.1.0更新日: 2026年10月15日
対応プラットフォーム:iOS 17macOS 14

ライセンス: MIT

依存関係のない、SwiftUI のビューからなる Swift パッケージです: ボタン、カード、チャート、検証付きのフォーム入力、ジェスチャー、リスト、オーバーレイ、ローダー、トーストです。各コンポーネントは initializer で設定される単純な View なので、テーマシステムを導入せずに1つ2つだけ使うこともできます。カード番号のチェック、validator、JSON のフォームスキーマ、swipe や形状の認識といった裏側のロジックは、macOS と iPhone シミュレータで実行される Swift Testing suite でカバーされています。

機能

  • ソースコードから数えた、14のカテゴリに分かれる223個のビュー、12個の view モディファイア、5個の gesture モディファイア
  • 組み合わせ可能な validator、最初の編集後に表示されるエラー、debounce されたサーバーチェック、複数ステップのフォーム
  • JSON から描画されるフォーム。スキーマのパターンは、マッチごとに20msの上限、チェックごとに100msの予算で実行されます
  • swipe、エッジ swipe、swipe のシーケンス、pinch-rotate-drag、形状の描画。それぞれにアクセシビリティアクションが付いています
  • iOS と macOS で共通の1つのコードベース: UIKit 固有の細部のほぼすべてが、1つのプラットフォーム用ファイルの中で AppKit 側の対応や no-op に対応付けられます
  • Swift 6 の language mode、依存関係なし。README のサンプルはサンプルアプリとテストターゲットでコンパイルされます
  • ColorContrast による、SwiftUI の色の WCAG 2 コントラスト比とレベル

クイックスタート

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}

インストール

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]

スクリーンショット

ボタンギャラリー、ライトモード
ボタンギャラリー、ダークモード
カードギャラリー、ライトモード
チャートギャラリー、ライトモード
インジケーターギャラリー、ライトモード
サンプルアプリ内の検証付きサインアップフォーム
サンプルアプリ内で JSON から描画された問い合わせフォーム
サンプルアプリ内の swipe、pinch-rotate-drag、形状描画

タイムライン

  1. リポジトリが公開されました。v1.0.0 は最初のコミットにタグ付け(14個のソースファイル、iOS 16 と macOS 13)

  2. パッケージを整理: コンポーネントを削除し、placeholder のコードに置き換え (c7b3799)

  3. 2.0.0 として作り直し: iOS 17 と macOS 14 向けに Swift 6 の language mode でコンポーネントを復元し、テスト、CI、DocC を追加 (PR #3)

  4. 2.1.0: 検証、JSON フォーム、ジェスチャー、コントラストチェッカーを、SwiftUI-Forms-Kit、SwiftUI-Gesture-Library、iOSUIComponents から書き直して統合。これら3つのリポジトリはアーカイブされました (PR #6)

リンク

統合されたリポジトリ

関連記事

記事を読む