واجهة المستخدمSwift
SwiftUI-Animation-Masterclass
حركة قائمة على الفيزياء، وجُسيمات، وتأثيرات تغيير (change effects)، وانتقالات لـ SwiftUI على iOS وmacOS.
7النجومآخر إصدار: v2.0.0آخر تحديث: 15 أكتوبر 2026
الأنظمة الأساسية:iOS 17macOS 14
الترخيص: MIT
حزمة Swift للحركة في SwiftUI على iOS 17+ وmacOS 14+: زنبركات (springs) قائمة على الفيزياء، وdecay، وارتدادات (bounces)، وسحب (drags) يحافظ على سرعة الإصبع، وتأثيرات جُسيمات، وتأثيرات تغيير، وانتقالات. كل شيء هو معدِّل view، أو Animation، أو Transition، أو نوع قيمة (value type) بسيط، ولا تحتوي الحزمة على أي اعتماديات.
الميزات
- DampedSpring محلول بصيغة مغلقة (closed form)، بقوالب gentle وsnappy وbouncy وsmooth، ووقت استقرار (settling time)، وتحويل إلى animation خاص بـ SwiftUI
- تتنبأ Decay بنقطة انتهاء flick؛ ويُسقِط GravityBounce ومعدِّل .gravityBounce() قيمة ويرتدّان بها
- يمرّر .elasticDrag() و.snapDrag() سرعة الإفراج (release velocity) إلى الزنبرك ويتمدَّدان بمقاومة مطاطية (rubber-band) عند تجاوز الحدود
- جُسيمات في Canvas واحد: 8 قوالب جاهزة، و5 قوى (forces)، و7 أشكال، ومحاكاة (simulation) بـ seed، وحد أقصى 10,000 جُسيم
- تأثيرات تغيير (shake وjump وspin وpulse وping وshine) وانتقالات iris وwipe وflip وpop
- يحترم كل تأثير إعداد Reduce Motion من تلقاء نفسه
- يُبنى في وضع لغة Swift 6؛ كتالوج DocC بأربع مقالات وتطبيق MotionGallery التوضيحي لـ iOS وmacOS
البدء السريع
swift
1import SwiftUI2import SwiftUIAnimationMasterclass3 4struct LikeButton: View {5 @State private var likes = 06 7 var body: some View {8 Button("Like", systemImage: "heart.fill") { likes += 1 }9 .buttonStyle(.borderedProminent)10 .changeEffect(.jump(), value: likes)11 .particleBurst(.hearts, trigger: likes)12 }13}التثبيت
Swift Package Manager
swift
1dependencies: [2 .package(url: "https://github.com/muhittincamdali/SwiftUI-Animation-Masterclass.git", from: "2.0.0")3],4targets: [5 .target(name: "YourApp", dependencies: [6 .product(name: "SwiftUIAnimationMasterclass", package: "SwiftUI-Animation-Masterclass")7 ])8]لقطات الشاشة












الجدول الزمني
افتُتح المستودع
وُسم 1.0.0؛ أشار بيانه (manifest) إلى مجلدات مصدر غير موجودة في المستودع، فلم يُبنَ
تبسيط: أُزيلت وحدات التحريك القديمة، وتبقّى عرض توضيحي ومعدِّل scroll
أُعيد البناء كـ 2.0.0: فيزياء، وإيماءات، وجُسيمات، وتأثيرات تغيير، وانتقالات؛ دُمجت MobileMotion وSwiftParticles وأُرشفتا